组件中的 data 为什么是函数
组件是用来复用的,组件中的data
应是互不影响的,防止data
复用。
v-if
和v-show
的区别
当为false
时,v-if
不会渲染页面,v-show
会渲染页面但是不会显示。
v-for
中key
的作用
vue组件高度复用增加Key可以标识组件的唯一性,可以高效的更新虚拟Dom
。
v-for
的key
为什么不能用index
数据项如果删除,删除项后的每一项的index都会更改,vue会认为这些数据项更改,都要重新渲染一遍,影响性能。
v-for
与v-if
不建议一起使用,v-for
的优先级比v-if
要高,v-for
先循环渲染Dom
、后判断,影响性能。
什么情况下数组更新不渲染
vm.array[index] = newVal
vm.array.length = newLength
由于vue实例创建之后添加新的属性到实例上,它不会触发视图更新。
可使用 $set(target, key, value)
、$forceUpdate()
-
target
:需要变更的对象或者数组 -
key
:变更的对象的键值/变更数组的索引值 -
value
:新的对象或者数组
-
$forceUpdate()
:迫使 Vue 实例重新渲染,仅影响实例本身和插入插槽内容的子组件。
网友评论