vue set使用方法demo

<!doctype html>
<html lang="en">

    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>

    <body>
    <div id="app2">
    <p v-for="item in items" :key="item.id">
        {{item.message}}
    </p>
    <button class="btn" @click="btn2Click()">动态赋值</button><br/><br/>
    <button class="btn" @click="btn3Click()">为data新增属性</button>
</div>
</body>
<script>
    var vm2=new Vue({
        el:"#app2",
        data:{
            items:[
                {message:"Test one",id:"1"},
                {message:"Test two",id:"2"},
                {message:"Test three",id:"3"}
            ]
        },
        methods:{
            btn2Click:function(){
                Vue.set(this.items,0,{message:"Change Test",id:'10'})
                console.log(this.items)
            },
            btn3Click:function(){
                console.log("这是没有改变之前的")
                console.log(this.items)
                var itemLen=this.items.length;
                alert(itemLen)
                Vue.set(this.items,itemLen,{message:"Test add attr",id:'99'});
                console.log("改变之后")
                console.log(this.items)
            }
        }
    });
    </script>
</body>
</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在介绍Vue.set()方法之前,我们先了解一下vue响应式的原理。 一、vue如何追踪变化 当你把一个普通的JS...
    明灭_阅读 37,139评论 1 10
  • 由于JS的限制,Vue不能检测以下变动的数组: 当你利用索引直接设置一个项时,如:vm.items[indexOf...
    __越过山丘__阅读 1,240评论 0 0
  • 在开发过程中,我们时常会遇到这样一种情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对...
    爱扎马尾的小狮子阅读 573,396评论 43 146
  • 出发前,男人买了地图,不止一份。胶印的、羊皮的、能连卫星的。都说最准,都说能到那。后来他发现,地图最好的读法是卷起来。
    hansblog阅读 238评论 0 0
  • 夜深了,妈妈一个人在家里! 五个月零十天!163天! 23周零2天! 最近宝宝经常会有胎动,我是内心喜悦无处不在!...
    黄阅苏阅读 148评论 0 0