1.v-for为什么要加key值
vue中列表循环需加:key="唯一标识" 唯一标识可以是item里面id index等,因为vue组件高度复用增加Key可以标识组件的唯一性,为了更好地区别各个组件 key的作用主要是为了高效的更新虚拟DOM
不清楚的同学举例传送门
2.v-for与v-if不能同用的原因
当 Vue 处理指令时,
v-for
比v-if
具有更高的优先级(此见解在VUE2版本里,VUE3版本里已是v-if比v-for的优先级更高)。因此哪怕我们只渲染出一小部分的元素,也得在每次重渲染的时候遍历整个列表,不论活跃用户是否发生了变化.解决办法是用computed.
举例传送门
VUE中v-for和v-if不能同时使用的问题 - ()=>{} - 博客园
3.淡淡v-model双向绑定
它做了2件事
1.绑定数据value
2.输入触发事件input
4.什么是vue框架的渐进式?
主张最少,也就是弱主张,他是在vue核心库(视图模板引擎)的基础上,去逐步添加所需要功能(如,组件系统、路由、状态机等)
5.vue 中的data 为什么是函数?
data此时是一个对象,里面存放着很多数据,都是指向同一个地址。 此时如果重复的使用相同的当前组件,每一个组件用的值都是从这个data:{}对象中取得(也就是说都是从同一个地址中取值),就对组件之间造成了相互干扰。 同理,我们就可以知道组件中的data使用函数然后返回一个对象的话,就不会存在这个问题了,因为在创建不同组件的时候,会return出不同地址的对象,并不存在干扰组件之间的数据绑定之类的问题
6..watch 的立即监听和深度监听
普通watch有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行。如果我们需要在最初绑定值的时候也执行函数,则就需要用到immediate属性。
深度监听deep是用来监听对象的属性。普通的监听是监听不到对象的某个属性的变化的。