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++;

posted @ 2017-09-07 23:51  鱼樱前端  阅读(1133)  评论(0编辑  收藏  举报