vue2.0 vue.set()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="vue2.2.js"></script> <title>Vue.set 全局操作</title> </head> <body> <h1>Vue.set 全局操作</h1> <div id="app"> <ul> <li v-for=" item in arr">{{item}}</li> </ul> </div> <button onclick="add()">外部添加</button> <script type="text/javascript"> function add() { console.log("我已经执行了"); //vm.arr[1] = 'd'; 用数组下标监测不到数据更新 Vue.set(vm.arr,1,'d'); } var outData = { arr: ['a', 'b', 'c'] }; var vm = new Vue({ el: '#app', data: outData }) </script> </body> </html>
外部数据,就是不在Vue构造器里里的data处声明,而是在构造器外部声明,然后在data处引用就可以了。外部数据的加入让程序更加灵活,我们可以在外部获取任何想要的数据形式,然后让data引用。
在外部改变数据的三种方法:
1、用Vue.set改变
function add(){
Vue.set(outData,'count',2);
}
2、用Vue对象的方法添加
app.count++;
3、直接操作外部数据
outData.count++;