学习笔记(13):Vue2.x从入门到实战-Vue.set全局操作

立即学习:https://edu.csdn.net/course/play/6823/135323?utm_source=blogtoedu

Vue.set 全局操作

1、外部引用数据

<div id="app">
    {{count}}
</div>
var OutData={
        count:1
    }
    var app=new Vue({
        el:'#app',
        data:OutData//外部声明数据对象
    })

2、添加一个点击事件改变外部数据

<div id="app">
    {{count}}
</div>
<p><button onclick="add()">add</button></p>

 

2.1用Vue.set改变

function add() {
        Vue.set(OutData,'count',2);//用Vue.set进行改变数据
    }

2.2用Vue声明对象的属性改变数据

function add() {
        app.count++;//用Vue声明对象的属性
    }

2.3直接操作外部数据

function add() {
        OutData.count++;//直接操作外部数据
    }

从以上的操作来看Vue.set的操作其他的操作也能完成,但是Vue.set也有独到的用处。由于Javascript的限制,Vue不能自动检测以下变动的数组。

  • 当你利用索引直接设置一个项时,vue不会为我们自动更新。
  • 当你修改数组的长度时,vue不会为我们自动更新。

上一段代码

<div id="app">
    {{count}}
    <ul>
        <li v-for="item in array">{{item}}</li>
    </ul>
</div>
<p><button onclick="add()">add</button></p>
<script>
    var OutData={
        count:1,
        array:['111','222','333']
    }
    function add() {
        //Vue.set(OutData,'count',2);//用Vue.set进行改变数据
        //app.count++;//用Vue声明对象的属性
        //OutData.count++;//直接操作外部数据
       app.array[1]='aaa';
        
    }
    var app=new Vue({
        el:'#app',
        data:OutData//外部声明数据对象
    })
</script>

用以上的方法改变数组界面是不会更新数据的,这是我们就要用到Vue.set(app.array,1,'bbb')进行改变,这时数组才能更新。

新手一枚,若有不足,请指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值