基于定期输入到组件的值(Angular 8)的组件动态百分比计算



我想知道是否有更好的方法可以根据输入到组件的值对 Angular 组件执行计算(比我现在正在做的(。

我现在正在做的是在我调用的方法的组件上,如下所示:

<ng-container>
calculatePercentage(stock.name, stock.paid, stock.quantity, stock.currentPrice)%
</ng-container>

这是一个应用程序,可以在任何给定时刻显示您的股票价值多少。

在控制器上,我有一个方法:

calculatePercentage(stock.name, stock.paid, stock.quantity, stock.currentPrice) {
...
return value;
}

该组件通过 API 获取股票的近期价格,并返回 -1% 或 1% 等值,以向用户显示他们在特定投资中是赚钱还是亏损。

问题:当我console.log抛出此方法时,我看到即使没有提供更新的值来执行计算,它也会无限触发。所以这告诉我这不是一种方法。

进行此类计算的最佳方法是什么。仅当提供了新值时,才应触发它。我必须使用角管吗?

提前感谢您的任何建议。

您看到的是更改检测机制的正常行为。您可以将组件的检测策略更改为OnPush,是的,我会使用PercentPipe

import { Component, ChangeDetectionStrategy } from '@angular/core';
...
@Component({
...
changeDetection: ChangeDetectionStrategy.OnPush
})

最新更新