Vue 通过下表修改数组,页面不渲染问题
2017-07-08 14:01
603 查看
需要注意的是,Vue之所以能够监听Model状态的变化,是因为JavaScript语言本身提供了Proxy或者Object.observe()机制来监听对象状态的变化。但是,对于数组元素的赋值,却没有办法直接监听,因此,如果我们直接对数组元素赋值:
会导致Vue无法更新View。
正确的方法是不要对数组元素赋值,而是更新:
或者,通过splice()方法,删除某个元素后,再添加一个元素,达到“赋值”的效果:
Vue可以监听数组的splice、push、unshift等方法调用,所以,上述代码可以正确更新View。
vm.todos[0] = { name: 'New name', description: 'New description' };
会导致Vue无法更新View。
正确的方法是不要对数组元素赋值,而是更新:
vm.todos[0].name = 'New name'; vm.todos[0].description = 'New description';
或者,通过splice()方法,删除某个元素后,再添加一个元素,达到“赋值”的效果:
var index = 0; var newElement = {...}; vm.todos.splice(index, 1, newElement);
Vue可以监听数组的splice、push、unshift等方法调用,所以,上述代码可以正确更新View。
相关文章推荐
- 解决Vue 通过下表修改数组,页面不渲染的问题
- vue 数组内对象修改属性页面不渲染问题
- 解决vue数组中对象属性变化页面不渲染问题
- vue数组中对象属性变化页面不渲染问题
- vue 后台数据获取与组件渲染、页面刷新数据消失的问题小结
- 解决vue-router嵌套路由(子路由)在history模式下刷新无法渲染页面的问题
- 直接给vue数组赋值,无法渲染到页面
- vue.js遇到的问题-数组数据改变,页面不能实时显示
- vue修改对象的属性值后页面不重新渲染的实例
- vue-cli 更改数组中的数据,页面dom及时渲染 Vue.set方法
- 通过vue-cli来学习修改Webpack多环境配置和发布问题
- 页面两个submit通过onclick修改action本地没问题,服务器无效的奇葩问题
- vue 数组渲染问题
- vue2.0 通过v-html指令渲染的富文本无法修改样式的解决方案
- **web.config**页面传参部分乱码,通过修改webconfig 解决问题
- vue修改对象的属性值后页面不重新渲染
- 详解vue 数组和对象渲染问题
- Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
- Vue.js列表渲染难点:对象中数组深度更新问题
- Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面