vue相关面试题:1.vue-route 3种导航钩子 2.Vue 生命周期 3.v-if和v-for不能一起用

简介: 三、注意事项1.永远不要把 v-if 和 v-for 同时用在同一个元素上,带来性能方面的浪费(每次渲染都会先循环再进行条件判断)2.如果避免出现这种情况,则在外层嵌套template(页面渲染不生成dom节点),在这一层进行v-if判断,然后在内部进行v-for循环3.如果条件出现在循环内部,可通过计算属性computed提前过滤掉那些不需要显示

文章目录

vue-route 有哪几种导航钩子?

请详细说明你对 Vue 生命周期的理解

为什么Vue中的v-if和v-for不建议一起用?

一、作用

二、优先级

三、注意事项

vue-route 有哪几种导航钩子?

有3种

第一种是全局导航钩子: router. beforeEach( to , from , next ). 作用是跳转前进行判断

拦截

第二种是组件内的钩子

第三种是单独路由独享组件


请详细说明你对 Vue 生命周期的理解

总共分为 阶段,分别为 before Create , created ,beforeMount ,mounted, before Update , updated, beforeDestroyed ,destroyed


beforeCreate :

在实例初始化之后 ,数据观测者(data observer)和 event/watcher事件

配直之前调用


created :

在实例创建完成后立即调在这一步, 实例已完成以下的 配直:数据观测者,属性和方法的运算, watch/event 事件回调 然而,挂载阶段还没开始,$el属性目前不可见


beforeMount

在挂载开始之前调用,相关的render函数首次调用。


mounted

el被新创建的 vm.$ el 替换,并且在挂载到实例上之后再调用该钩子,如果 root 实例挂载了一个文档内元素 当调用 mounted时vm.$ el 也在文档内


before Update :

在数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前


updated :

由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子


beforeDestroy

在实例销毁之前调用,在这一步,实例仍然完全可用


destroyed :

在 Vue 实例销毁后调用 ,调用后, Vue.js 实例指示的所有东西都会解除绑定,所有的事件监听器会被移除,所有的子实例也会被销毁


当使用纽件的 keep-alive 功能时 增加以下两个周期

activated在keep-alive 纽件激活时调用;

deactvated在keep-alive 组件停用时调用

Vue 2.5 版本新增了一个周期钩子: ErrorCaptured 当捕获到一个来自子孙纽件的错

误时调用


为什么Vue中的v-if和v-for不建议一起用?

一、作用

1.v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 true值的时候被渲染

2.v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组或者对象,而 item 则是被迭代的数组元素的别名

3.在 v-for 的时候,建议设置key值,并且保证每个key值是独一无二的,这便于diff算法进行优化


二、优先级

v-if与v-for都是vue模板系统中的指令

在vue模板编译的时候,会将指令系统转化成可执行的render函数

在进行if判断的时候,v-for是比v-if先进行判断


三、注意事项

1.永远不要把 v-if 和 v-for 同时用在同一个元素上,带来性能方面的浪费(每次渲染都会先循环再进行条件判断)

2.如果避免出现这种情况,则在外层嵌套template(页面渲染不生成dom节点),在这一层进行v-if判断,然后在内部进行v-for循环

3.如果条件出现在循环内部,可通过计算属性computed提前过滤掉那些不需要显示的项


目录
相关文章
|
12月前
|
JavaScript
VUE学习二:事件监听(v-on)、条件判断(v-if/v-else-if/v-else)、循环遍历(v-for)
这篇文章是关于Vue.js的学习指南,涵盖了事件监听、条件判断、循环遍历、数组方法响应性、案例分析以及高阶函数的使用。
179 2
VUE学习二:事件监听(v-on)、条件判断(v-if/v-else-if/v-else)、循环遍历(v-for)
|
12月前
|
缓存 JavaScript 搜索推荐
Vue Router 导航钩子的使用场景
【10月更文挑战第13天】
189 55
|
11月前
|
监控 JavaScript 前端开发
vue学习第十二章(生命周期)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。本文深入探讨了Vue实例的生命周期,从初始化到销毁各阶段的关键钩子函数及其应用场景,帮助你更好地理解Vue的工作原理。如果你觉得有帮助,欢迎关注我,将持续分享更多优质内容!🎉🎉🎉
171 1
vue学习第十二章(生命周期)
|
12月前
|
JavaScript 索引
vue 在 v-for 时给每项元素绑定事件
在 Vue 中使用 v-for 渲染列表时,可以通过给每项元素绑定事件来实现交互功能。通常使用 `@click` 等事件修饰符,结合方法或内联表达式来处理事件。例如:`<li v-for="item in items" @click="handleClick(item)">{{ item }}</li>`。
|
12月前
|
JavaScript
Vue 的父组件和子组件生命周期钩子执行顺序
在 Vue 中,父组件和子组件的生命周期钩子执行顺序如下:
|
12月前
|
JavaScript 前端开发 开发者
Vue v-for 进阶指南:in 与 of 的区别及应用场景 | 笔记
Vue.js 中的 v-for 是强大的遍历指令,但其中的 in 和 of 关键字往往被开发者忽视。尽管它们的用法相似,但适用的场景和数据结构却各有不同。本文将详细探讨 v-for 中 in 和 of 的区别、适用场景以及在实际开发中的最佳使用时机。通过理解它们的差异,你将能够编写更加高效、简洁的 Vue.js 代码,灵活应对各种数据结构的遍历需求。
468 6
|
12月前
|
JavaScript 搜索推荐 数据处理
Vue Router 导航钩子
【10月更文挑战第17天】需要注意的是,过度使用导航钩子可能会导致代码复杂度增加,因此需要合理规划和使用。此外,不同的钩子在不同的场景下具有不同的作用,需要深入理解其特点和用法,才能更好地发挥它们的价值。可以在实际项目中结合具体需求,充分利用这些导航钩子来打造更加智能、灵活的路由导航机制。
133 1
|
12月前
|
JavaScript
|
12月前
|
JavaScript
vue3 生命周期
【10月更文挑战第14天】vue3 生命周期
|
12月前
|
JavaScript 算法 前端开发
深入剖析Vue中v-for的使用及index作为key的弊端
深入剖析Vue中v-for的使用及index作为key的弊端
391 2