Computed property "imgDate" was assigned to but it has no setter. The computed property "imgDate" is already defined as a method.
时间: 2024-10-12 12:07:46 浏览: 33
前端Vue日常工作中-computed计算属性
在JavaScript (特别是Vue.js) 中,"Computed properties"(计算属性)是用来响应式地基于其他数据属性的值动态生成新值的。当你试图将一个非函数赋值给一个已经声明为 `computed` 的 `imgDate` 属性时,这通常是由于误解了它的用途。
通常,计算属性应该定义为返回一个表达式的函数,而不是直接赋值。例如,如果 `imgDate` 需要基于另一个属性(如 `uploadDate`)进行计算,你应该这么写:
```javascript
data() {
return {
uploadDate: '',
// ...
};
},
computed: {
imgDate() {
return new Date(this.uploadDate);
// 或者更复杂的计算
}
}
```
在这个例子中,`imgDate` 就是一个计算属性,它会根据 `uploadDate` 变化而自动更新。如果试图像 `this.imgDate = 'some value';` 这样设置它的值,就会报错,因为它没有对应的 setter 方法来接收外部的设定。
阅读全文