vue 对象改变时,同步更新视图的办法
2017-10-17 00:00
148 查看
Vue 的数据如果是对象的话,改变对象的属性,视图不会更新
这时候需要调用set方法
这时候需要调用set方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/uikit.min.css"> <link rel="stylesheet" href="css/bootstrap.min.css"> <title>bs</title> <script src="js/jquery-3.2.1.js"></script> <script src="js/popper.js"></script> <script src="js/bootstrap.js"></script> <script src="js/vue.js"></script> <script src="js/uikit.min.js"></script> <script src="js/maze.js"></script> </head> <body> <div class="container" id='myDiv'> <ul> <li v-for=" (i,index) in items">{{i}}</li> </ul> <button class="btn" @click='btn_click'>增加</button> <button class="btn" @click='btn_click2'>自己内部改变</button> <button class="btn" onclick='btn_click3()'>外部通过函数改变</button> </div> </body> <script> var myDiv = new Vue({ el: '#myDiv', data: { items: new Array(), }, methods: { btn_click: function () { this.items.push(1) console.log('btn_click') }, btn_click2: function () { //内部通过this改变 this.$set(this.items, '0', parseInt(this.items[0]) + 2) console.log('btn_click2') } } }) //外部通过函数改变 function btn_click3() { console.log('btn3') Vue.set(myDiv.items, '0',parseInt(myDiv.items[0]) + 2) } </script> </html>
相关文章推荐
- 解决vue中对象属性改变视图不更新的问题
- vue中对象属性改变视图不更新问题
- Vue 数组中更新属性值后,视图不更新,等待其他元素更新后会触发的解决办法
- vue 循环对象,数据更新,但是视图未刷新
- vue 二维数据内容变化刷新视图的解决办法
- 详解Vue改变数组中对象的属性不重新渲染View的解决方案
- 写一个方法进行各种属性的更新,而不要每个界面设置改变都改变一个属性。就是点击应用或确定按钮时调用这个更新属性的方法,遍历所有(控制对象属性的)界面控件的状态(值),进行属性修改和刷新。
- “Microsoft JET Database Engine 错 误 '80040e09' 不能更新。数据库或对象为只读”的解决办法(转)
- Vue 普通对象数据更新与 file 对象数据更新
- Hibernate的方法获取对象后,对象调用set后会自动更新数据库内容的解决办法
- 同步任务处理:异步线程中实时更新视图的处理(笔记)
- vue.js移动数组位置,同时更新视图的方法
- Xmarks 无法同步的暂时解决办法 ip更新
- vue中修改了数据但视图无法更新的情况[转载]
- 电脑系统时间同步更新时提示“RPC服务器不可用”解决办法
- ATS项目更新(1) CC视图与备份路径同步
- 错误: (串列)对象不能强制改变成'double'解决办法
- Vue.js 子组件更新视图
- 解决:铃声改变,来短信,短信设置中默认铃声的名称没有同步更新
- app应用运行中,自动监测手机通讯录的改变,达到同步更新