vue的data和页面

数据修改后,为何页面会发生改变

在Vue中,每个一个数据,都会生成一对set和get方法

每次给数据赋值的时候,都会执行set方法,内部触发页面的更新

每次取出数据的时候,都会执行get方法

有些特殊情况,数据中的set和get方法不会被添加上,此时数据的改变,不会影响到页面

created() {
    setTimeout(() => {
        this.data = {
            err: 0,
            data: [
                { name: 'xiaoming' },
                { name: 'xiaohong' },
            ]
        }
        // 后面单独添加的msg不会生成set和get方法
        this.data.msg = 'OK'
    }, 1000);
},

此时msg和页面并不是绑定状态,需要使用$set解决

这里的setTimeout模拟网络请求,在实际的页面开发当中,比如说购物车,请求下来的数据遍历给每个数据添加一个flag,全选全不选单选单不选都要用到这个flag,在这里就可以用这个用法

// 局部用法
this.$set(this.data, 'msg', 'OK')

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,546评论 19 139
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,045评论 3 119
  • Sige四哥阅读 619评论 0 0
  • 五月十三题关帝庙 文/清风 一生忠义助英豪,文武双全德望高。 五月十三天降雨,只为今日砺关刀。
    清风2阅读 2,738评论 0 0
  • 人 总是 不能站在别人的角度去想问题 所以 老是一副颐指气使的样子 不妨换个角度 气氛定会 融洽很多
    旭敏阅读 1,313评论 12 22