[IMAGE: https://cn.vuejs.org/images/logo.png]
最近在学习Vue的过程中遇到一个问题,官方文档说由于 JavaScript 的限制,Vue 不能检测以下变动的数组:
> 当你修改数组的长度时,例如:vm.items.length = newLength
解决方法是使用
vm.items.splice(newLength)
但我在使用的时候却没有作用。这是我的代码:
{{ index }} : {{ item }}
var app = new Vue({
el: '#app',
data: {
items: ['a', 'b', 'c']
}
})
</script
页面运行后,我在chrome的console中输入
app.items.splice(10)
页面没变化,重试几次都没效果,我猜测官方说的解决方法有问题,于是发了issue进行询问。最后得知:
splice() 增加数组的长度必须提供值(可为空,即使用 app.items.splice(3,0,'','','','g','h') 的形式),而减少数组长度则没有这个限制。