热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VUE温习:nextTick、$refs、嵌套路由、keepalive缓存、is特性、路由属性用法、路由钩子函数...

一、$nextTick1、vue的dom执行异步更新,只要观察到数据变化,vue将开启一个队列,并缓冲在同一事件循环中发生的所有数据改变。

一、$nextTick

1、vue的dom执行异步更新,只要观察到数据变化,vue将开启一个队列,并缓冲在同一事件循环中发生的所有数据改变。

2、vue.$nextTick(cb),数据发生变化,更新dom后执行回调

二、$refs用法

1、ref作用于普通元素——得到dom节点

2、ref作用于子组件——得到组件实例,可使用组件所有方法

3、当v-for用于元素或组件的时候,refs将是包含dom节点或组件实例的数组(想得到单个的ref,只需循环即可)

三、vue组件hover事件模拟

1、mouseover/mouseout,mouseenter/mouseleave

2、第三方组件加事件不生效问题——添加native修饰符

四、嵌套路由

1、一个被路由过来的页面下可以继续使用路由。比如我们需要路由过来的页面头部一些信息不变,下面点击不同信息展示不同内容时就可以用到嵌套路由

2、嵌套路由声明,利用children: [] 去声明嵌套路由

3、嵌套路由声明的注意事项:

(1)以“/”开头的路由会被当做根路径,所以子路由的path是不能加“/”的

(2)注意匹配一个path为空的情况,然后匹配一个default组件,避免出现空白页的问题

五、keep-alive

1、vue的内置组件,能在组件切换过程中将状态保存在内存中,防止dom重复渲染。keep-alive包裹动态组件时,能缓存不活动的组件实例,而不是销毁他们。

2、keep-alive与transition相似,只是一个抽象组件,真实或虚拟都不会渲染,也不存在与父组件链中

3、include、exclude:匹配的组件缓存/不缓存

注意:(1)exclude的优先级大于include;(2)注意匹配的是组件名称,而不是路由名称,也就是说要给组件设置name值。

4、keep-alive生命周期钩子函数:

(1)activated:组件被激活时调用,组件第一次渲染也会调用,之后每次进入keep-alive均调用

(2)deactivated:组件被停用时调用

5、什么时候获取数据?

当引入keep-alive 的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated。keep-alive 之后页面模板第一次初始化解析变成HTML片段后,再次进入就不在重新解析而是读取内存中的数据,即只有当数据变化时,才使用VirtualDOM进行diff更新。故页面进入的数据获取应该在activated中也放一份。数据下载完毕手动操作DOM的部分也应该在activated中执行才会生效。所以,应该activated中留一份数据获取的代码,或者不要created部分,直接将created中的代码转移到activated中。

六、is特性:

1、限制元素:vue编译器为组件提供特殊功能,在有些情况下,组件也可以是原生html元素的形式,以is特性扩展

原因在于有些html元素本身的限制比如select等,如果想在中使用组件模板,这时候就需要使用is特性扩展,从而达到在受限的html元素中使用

2、动态组件:vue中提供一个动态模板,可以再任意模板中切换,就是用is特性来挂载:,比如当currentView为comA时就显示comA模板,为comB时就显示comB模板

七:vue路由属性及用法

1、to:路由链接

2、replace:设置replace属性不留下history记录,即不能回退

3、append:设置append属性在当前路径前添加基路径:比如a to b,加append为/a/b,不加append就为/b

4、tag:渲染标签

5、active-class:设置链接激活时使用的css类名。默认值可以通过路由的构造选项linkActiveClass来全局配置,默认值为 ‘router-link-active‘

6、exact:激活的路径匹配规则

7、events:触发导航的事件(默认click),可以是一个字符串或包含字符串的数组

8、scrollBehavior(to, from, savedPosition)控制滚动

八、路由钩子函数:主要用来拦截导航

1、全局的:

router.beforeEach()

router.afterEach():没有next(),不能改变导航

2、某个路由独享的钩子:

在定义路由路径时,beforeEnter(to, from, next)

3、组件内钩子:

beforeRouteEnter():不能访问this,可以通过传一个回调next(vm => {})来访问组件实例

beforeRouteLeave():可以访问this,可通过next(false)取消导航;同时必须得有next()

beforeRouteUpdate():二级导航更新时触发,可访问this;即当前路由改变,但是该组件被复用时调用

 

转:https://www.cnblogs.com/goloving/p/10680359.html



推荐阅读
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
  • ClassList对象学习心得与表单事件非空校验技巧
    ClassList对象学习心得与表单事件非空校验技巧 ... [详细]
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • MyISAM和InnoDB是MySQL中最为广泛使用的两种存储引擎,每种引擎都有其独特的优势和适用场景。MyISAM引擎以其简单的结构和高效的读取速度著称,适用于以读操作为主、对事务支持要求不高的应用。而InnoDB引擎则以其强大的事务处理能力和行级锁定机制,在需要高并发写操作和数据完整性的场景下表现出色。选择合适的存储引擎应综合考虑业务需求、性能要求和数据一致性等因素。 ... [详细]
  • 本文全面解析了JavaScript中的DOM操作,并提供了详细的实践指南。DOM节点(Node)通常代表一个标签、文本或HTML属性,每个节点都具有一个nodeType属性,用于标识其类型。文章深入探讨了DOM节点的创建、查询、修改和删除等操作,结合实际案例,帮助读者更好地理解和掌握DOM编程技术。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 深入解析数据库中的存储过程与触发器技术
    本文深入探讨了数据库中的存储过程与触发器技术。存储过程是一组预编译的SQL语句,经过优化后存储在数据库服务器中,以提高执行效率。在大型数据库系统中,通过调用存储过程的名字,用户可以快速执行复杂的操作,从而提升系统的性能和响应速度。此外,触发器作为一种特殊的存储过程,能够在特定事件发生时自动执行,进一步增强了数据库的自动化管理和数据完整性。 ... [详细]
  • JavaScript XML操作实用工具类:XmlUtilsJS技巧与应用 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • 精通jQuery:深入解析事件处理机制与应用技巧
    本文详细探讨了jQuery的事件处理机制及其应用技巧,通过具体的代码示例,逐一解析了每个jQuery代码片段与其对应的HTML结构。文章以标记为基准,CSS作为通用样式,确保每段代码都能独立运行。HTML和CSS代码统一放置在文章末尾,方便读者参考和实践。 ... [详细]
  • 使用React与Ant Design 3.x构建IP地址输入组件
    本文深入探讨了利用React框架结合Ant Design 3.x版本开发IP地址输入组件的方法。通过详细的代码示例,展示了如何高效地创建具备良好用户体验的IP输入框,对于前端开发者而言具有较高的实践指导意义。 ... [详细]
author-avatar
活跃的爱味儿县_454
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有