Angular 角度4:显示;“聚合”;模板中的属性(单向)
我有Angular 角度4:显示;“聚合”;模板中的属性(单向),angular,Angular,我有视图模型类,这些类是我从来自服务器的JSON对象构造的。然后将这些类绑定到模板 在某些情况下,我需要向这些类添加额外的属性(即除了JSON对象中的属性)。例如,我可能需要显示订单的总额: public total(): number { return this.price * this.count; } 我学习了如何绑定到这样的属性 然而,我想知道是否有其他的选择,可以更符合角度。例如,我想知道是否可以使用管道来显示这些“聚合”属性,而不是完全创建一个新属性 我的问题是-解决这个问题的
视图模型
类,这些类是我从来自服务器的JSON对象构造的。然后将这些类绑定到模板
在某些情况下,我需要向这些类添加额外的属性(即除了JSON对象中的属性)。例如,我可能需要显示订单的总额:
public total(): number {
return this.price * this.count;
}
我学习了如何绑定到这样的属性
然而,我想知道是否有其他的选择,可以更符合角度。例如,我想知道是否可以使用管道来显示这些“聚合”属性,而不是完全创建一个新属性
我的问题是-解决这个问题的方法是什么 这取决于计算聚合的成本,以及视图上共存的聚合数量
- 如果性能开销可以忽略不计,那么您的解决方案在我看来很好,因为它易于编写和维护,并且您只需付出很少的努力就可以保证值是正确的
- 如果性能开销很大,则需要缓存聚合,并在输入更改时重新计算它们。即使在RXJS的帮助下,这种额外的逻辑也可能变得相当复杂,但这对于实现可接受的性能是必要的
你做这件事的方式是完美的角度,我想说你做这件事的方式非常好。业务逻辑应该放在你的课堂上,这就是你正在做的。无需寻找替代品。不要滥用管道。管道应该主要被视为格式化程序,比如在数字中添加逗号,或者格式化为货币或日期。“角度方法”是使你所做的事情非常透明和明显,而在实际计算中,管道并不是一种很好的方法,因为我需要知道的太多了。使用getter是一种有角度的方法。不过,更好或更复杂的方法可能是在需要计算这些“聚合”属性时构建逻辑来计算这些属性,而不是依赖更改检测来为您进行计算。谢谢您的报价!