[英]Best practices for reusing methods across multiple components in Angular 8
假設我有一個從兩個數字返回百分比的方法:
calculatePercentage(a, b) {
return (((a - b) / b) * 100 * 2).toFixed(2);
}
目前,我在組件 controller 上有這種方法。 如何使其可跨多個組件重用? 最佳做法是什么?
我正在考慮將其用作服務:在 Angular 中這樣做是否正確?
如果這些方法是冪等的並且也不依賴於任何 state 那么我將只有一個單獨的.ts 文件,您可以從中導入函數。
我的函數.ts
export calculatePercentage = (a:number,b:number):string => {return (((a - b) / b) * 100 * 2).toFixed(2);}
組件.ts
import {calculatePercentage} from './myfunctions';
export class MyComponent {
someMethod() {
this.result = calculatePercentage(this.numa, this.numb);
}
}
所以它可以通過兩種方式完成,您可以在服務內部實現 function 或創建實用程序方法。
我們應該為直接影響我們組件的方法創建服務,例如 HTTP 請求等。
至於上述方法,我會創建一個 util 文件並從中導出方法。
我希望這能解決你的問題。
對於此類問題,請使用不同的平台來獲得建議,而不是使用旨在解決您的編程問題的 StackOverflow。
您有多種選擇:
在作為方法的服務中。
在文件Utils
中export function calculatePercentage(...){...}
作為 static function。
在 class 作為 static 方法(這是較少推薦)
沒有“最佳”方式。 每種方法都有其高手
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.