前端面试准备笔记系列之vue(02)

01. vue中 key 值的作用?

key的作用主要是为了高效的更新虚拟DOM,因为vue组件高度复用,增加Key可以标识组件的唯一性.

02. v-if 和 v-show 区别
  • v-show 页面会正常渲染但是会用display:none给隐藏掉而v-if不会渲染。
  • 一般如果是一次性的或者更新不是很频繁的时候会用v-if,这样不会把更多的东西暴露在浏览器中。
  • 如果是很频繁的切换就用v-show来写,这样性能会好一些,而用v-if会频繁的进行dom的销毁和加载。
03. v-if 和 v-for是否可以一起使用?

不能。
v-for比v-if计算优先级高一些,在渲染模板的时候,会先用v-for进行循环,之后在用v-if进行判断,这样导致的结果就是执行多次重复循环,每一遍循环都要进行v-if的判断。

04. vue常用的修饰符?

分为事件修饰符和按键修饰符。

事件修饰符:

  • .prevent: 提交事件不再重载页面;
  • .stop: 阻止单击事件冒泡;
  • .self: 当事件发生在该元素本身而不是子元素的时候会触发,冒泡上来的事件不执行
  • .capture: 事件侦听,事件绑定遵循的不是冒泡的规则而是捕获的规则
  • .once 修饰符表示只绑定一次事件,当触发后会自动解绑。

按键修饰符:

  • .ctrl 即使Alt或者Shift被一同按下也会触发
  • .ctrl.exact 有且只有Ctrl被按下才会触发
  • .exact 没有任何系统修饰符被按下的时候才会触发
05. vue的computed methods watch
  • computed 计算属性是一个函数,计算属性是内置缓存,当他依赖的变量没法发生改变的时候就不会执行,computed可以写成一个对象,里面有一个get方法,当走到读取计算属性时就走get方法,也有一个set方法,可以接收外部的变量,当依赖值改变时就会改变。
  • methods 方法属性,没有缓存机制,在性能上不如计算属性。
  • watch 侦听器 当监听的属性改变时进行重新赋值,这种方式与计算属性类似,都有一个缓存机制,当变量没有改变的时候不会执行。
06. watch监听引用类型,能否拿到oldVal?

watch监听引用类型,拿不到oldVal,因为指针相同,此时已经指向了新的val。

07. watch深度监听引用类型。

deep: true //深度监听

08. computed计算属性优点
  • 使得数据处理结构清晰;
  • 依赖于数据,数据更新,处理结果自动更新;
  • 计算属性内部this指向vm实例;
  • 在template调用时,直接写计算属性名即可;
  • 常用的是getter方法,获取数据,也可以使用set方法改变数据;
  • 相较于methods,不管依赖的数据变不变,methods都会重新计算,但是依赖数据不变的时候computed从缓存中获取,不会重新计算。
上一篇:从零开始学VUE3.X-数据,计算,方法和侦听器


下一篇:Vue 计算属性 和侦听器