为了账号安全,请及时绑定邮箱和手机立即绑定

vue.js 中的computed属性怎么用

vue.js 中的computed属性怎么用

叮当猫咪 2018-09-13 10:19:34
利用vuex实现状态管理,初始化给table的data属性赋值[],页面数据table中的数据是通过comouted来获取data的,在发送请求后获取数据,首先将data重新初始化为[], 然后改变state中data的值为响应数据中的值,为什么页面不会展示data中的数据,利用vue-devtools看到data仍然是[],这是怎么回事?代码1:INITSQLINFO:(state,uid)=>{    state[uid].data = []; },store中的初始化代码2:computed:{    execSQLInfo(){                    return this.getTabData.data;                 }}代码三:this._initExecSQLInfo(this.uid); 先重新初始化this.execSQLInfo.push(_resObj); 改变data中的数据;_initExecSQLInfo 就是调用初始化1中的代码;execSQLInfo是调用mutation中的函数:ADD_SQL_INFO:(state,uid,resObj)=>{    state[uid].data.push(resObj); }
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

终于明白vue.js在这一块是怎么玩的啦:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。


查看完整回答
反对 回复 2018-10-29
  • 1 回答
  • 0 关注
  • 1072 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信