使用v-for时,要绑定key的原因
v-for有就地复用策略。
不绑定key的话,这一项之前的数据不受影响,也就不会发生改变,而改变的这一项之后的所有数据都会受到影响进行改变,很大的消耗了内存。
绑定了key就可以准确的找到这一项数据并只对当前数据进行修改,节省了没必要的内存消耗。
key值绑定id而不用index的原因
id具有唯一性,且不会跟随项目的增减而发生改变
index虽然也有唯一性,但是随着数据的增减,还是会影响其它位置数据对应索引值,比如开始时第一项数据为张三对应的索引值为0,当用户在开头添加了李四,那么当初张三对应的索引值就赋给了李四,张三此时的索引值变为1,李四的索引值变为了0
Vue(Es6)中的data属性为什么不能是一个对象?
如果data是对象引用类型,每复用一次组件,就会有一个新的实例创建,所有的组件都用的同一个地址,数据会混乱
如果data是函数的话,函数拥有独立作用域块,外部无法访问内部的变量,每个实例之间不会相互影响
网友评论