一个mobx中computed属性的问题
对于单个对象,我可以使用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属性岂不是很麻烦
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
把
good
弄成一个单独的model文件然后在
goodList
文件中这样就实现了自动计算, 访问的时候类似
this.props.goodList[0].totalPrice
参考这个TODO LIST
首先你totalPrice里面this.number和this.price能取到值吗?要computed获得数组某个元素的计算属性我想到2个方法:
1.goodsList全部计算一次再通过index去取;
2.另外写一个@observable index保存你要取的index在通过方法totalPrice去取