在'computed'属性中,你定义了一个名为'current'的计算属性,并在'get'函数中使用了'console.log'来输出'this.current'的值。

然后在'methods'中的'add_num'方法中,你尝试修改'this.current'的值,但是发现它没有被修改成功。

原因是计算属性'current'是一个只读属性,它的值是通过'get'函数动态计算得出的。你不能直接修改计算属性的值,而应该通过修改计算属性所依赖的数据来间接地修改计算属性的值。

在你的代码中,如果你想要修改'current'的值,你应该修改'add_num'方法中的'this.current = val'这一行代码,并且确保'val'的值是一个已经存在的'goods'的'id'。

在'set'函数中,你也尝试使用'console.log'来输出'this.current'的值,但是依然取不到。这是因为'set'函数接收一个参数,即要设置的新值。你应该使用参数来获取新值,而不是使用'this.current'来获取。

在你的代码中,'set'函数应该像这样定义:

set(newVal) {
    console.log(newVal);
    const good = this.goods.find((item) => {
        return item.id === newVal;
    });
    console.log(good);
}
Vue.js 计算属性修改问题及解决方案

原文地址: https://www.cveoy.top/t/topic/qowi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录