账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue中data中某个属性依赖computed计算结果
    • 2019-01-16 00:00
    • 10
    43
    0

    想在computed中处理一些业务逻辑,但是ESlint提示不能在computed中给data中的变量重新赋值;
    有更好的处理方式吗?除了放在watch里

        computed: {
            userData() {
                const userData = JSON.parse(JSON.stringify(this.data));
                let resultArr = [];
    
                Object.entries(userData).forEach(([key, value]) => {
                    // eslint-disable-next-line
                    userData[key].isFull = this.checkListItem(userData[key]);
                    userData[key].showName = this.nameFormat(userData[key]);
                    ...
                    resultArr.push(userData[key]);
                });
    
                // 默认值排除不符合要求的
                _.forEach(resultArr, (item, index) => {
                    _.forEach(this.defaultPerson, (it, id) => {
                        if (it === item.ads && !item.isFull) {
                            // eslint-disable-next-line
                            this.isSelected.splice(index, 1, false);
                            // eslint-disable-next-line
                            this.addPeopleArr.splice(index, 1, false);
                        }
                    });
                });
    
                return resultArr;
            },
        },
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 共 0 条
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部