再次欢迎来到德莱联盟,vue战场

v-bind

<button v-bind:disabled="isButtonDisabled">Button</button>

如果 isButtonDisabled 的值是 nullundefinedfalse,则 disabled 特性甚至不会被包含在渲染出来的 <button> 元素中。

计算属性

计算属性是基于它们的响应式依赖进行缓存的

key

有相同父元素的子元素必须有独特的 key。重复的 key 会造成渲染错误

数组更新检测

变异方法 (mutation method),顾名思义,会改变被这些方法调用的原始数组。相比之下,也有非变异 (non-mutating method) 方法,例如:filter(), concat() 和 slice() 。这些不会改变原始数组,但总是返回一个新数组。当使用非变异方法时,可以用新数组替换旧数组:

由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue 当你修改数组的长度时,例如:vm.items.length = newLength

第一种情况的解决方案Vue.set(vm.items, indexOfItem, newValue) 或者 vm.items.splice(indexOfItem, 1, newValue) 或者 vm.$set(vm.items, indexOfItem, newValue)

第二种情况解决方案:vm.items.splice(newLength)