一只名叫tom的貓
2018-12-11 11:22:51
對(duì)于單個(gè)對(duì)象,我可以使用computed通過(guò)計(jì)算獲得一些屬性,比如@observable good = { number: 2, price: 3}@computed get totalPrice() { return this.good.number * this.good.price;}對(duì)于數(shù)組,比如@observable goodsList = [{ number: 2, price: 3},{ number: 2, price: 3}]這種情況我如何通過(guò)computed獲得數(shù)組某個(gè)元素的計(jì)算屬性呢,還是只能在改變number的函數(shù)中手動(dòng)去更改,但是我數(shù)組的對(duì)象中并沒(méi)有一個(gè)totalPrice的屬性,每次把單個(gè)good push到goodsList中去還要給good添加一個(gè)totalPrice屬性豈不是很麻煩
1 回答

子衿沉夜
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
把good弄成一個(gè)單獨(dú)的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));
}
這樣就實(shí)現(xiàn)了自動(dòng)計(jì)算, 訪問(wèn)的時(shí)候類似 this.props.goodList[0].totalPrice
參考這個(gè)TODO LIST
添加回答
舉報(bào)
0/150
提交
取消