对于单个对象,我可以使用computed通过计算获得一些属性,比如@observable good = { number: 2, price: 3}@computed get totalPrice() { return this.good.number * this.good.price;}对于数组,比如@observable goodsList = [{ number: 2, price: 3},{ number: 2, price: 3}]这种情况我如何通过computed获得数组某个元素的计算属性呢,还是只能在改变number的函数中手动去更改,但是我数组的对象中并没有一个totalPrice的属性,每次把单个good push到goodsList中去还要给good添加一个totalPrice属性岂不是很麻烦
1 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
把good弄成一个单独的model文件
export default class Good{
@observable number;
@observable price;
constructor(number, price) {
this.number = number;
this.price = price;
}
@computed
get totalPrice() {
return this.number * this.price
}
}
然后在goodList文件中
@action
addGood(...args) {
this.todos.push(new Good(...args));
}
这样就实现了自动计算, 访问的时候类似 this.props.goodList[0].totalPrice
参考这个TODO LIST
添加回答
举报
0/150
提交
取消