javascript - vue.js 中的computed属性怎么用
巴扎黑
巴扎黑 2017-04-11 09:06:11
[JavaScript讨论组]

利用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);
}
巴扎黑
巴扎黑

全部回复(3)
迷茫

建议看一下官网最基本的 computed 的例子先

伊谢尔伦

不用 Computed:

<p>
  <p v-show="a && (b && (c === 'user' && (d ? e(data) : true)))"></p>
</p>

用 Computed:

<p>
  <p v-show="show"></p>
</p>
  export default {
    computed: {
      show () {
        // 这里还能做更多事情.
        return a && (b && (c === 'user' && (d ? e(data) : true)))
      }
    }
  }
PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号