具有减少功能的角总和

jgr*_*ten 4 html javascript typescript angular

这里开始,我试图通过在角度绑定中使用 javascript reduce 函数来对一组对象的特定属性求和。

成分

totals: total[] = [{itemCount:1},{itemCount:2},{itemCount:3}, {itemCount:4}];
Run Code Online (Sandbox Code Playgroud)

HTML

<div>{{ totals.map(t => t.itemCount).reduce((a, b) => a + b, 0) }}</div>
Run Code Online (Sandbox Code Playgroud)

通过上述,我收到错误:“绑定不能包含分配”

堆叠闪电战模型

提前致谢

编辑

我已将@quirimmo 提供的答案标记为正确,但我也想解决@jo_va 的答案。

我觉得在我的组件中提供一种 angular 方法是正确的方法@quirimmo,但是在我的情况下,该组件是根据客户端请求进行 JIT 编译的,此时,我仍然不确定如何在该组件期间动态添加该方法建造。这让我在我的 HTML 中使用 Expression 方法,并故意避免@jo_va 的最佳实践答案。

我的解决方案是将服务作为对象传递给组件,并将方法放置在该服务中以供参考。

感谢您的帮助

qui*_*mmo 11

在组件内部定义一个函数,该函数返回减少的值,并在绑定调用组件的函数内部:

const totals = [{itemCount:1},{itemCount:2},{itemCount:3}, {itemCount:4}];

console.log(totals.reduce((acc, val) => acc += val.itemCount, 0));
Run Code Online (Sandbox Code Playgroud)