2017-04-03 72 views
0

我有一個getter來返回在另一個函數中計算的值。它有這樣的形式:如何在TypeScript中爲getter設置初始值

private get numErrors() { 
    return calculateErrors(key); 
} 

在我的html我有{{ $ctrl.numErrors }}。我正在使用AngularJS。這呈現{{$ ctrl。 numErrors}},然後計算並顯示數值數值。有沒有一種方法可以讓我在獲得返回值之前初始顯示0?

+1

看它是否能幫助你http://stackoverflow.com/questions/12866447/prevent-double-curly-brace-notation-from-displaying-momentarily-before-angular-j – Diullei

回答

0

您可以通過ng-cloak解決此問題。

但不是讓numErrors()作爲getter直接返回你的其他函數的結果爲什麼不做這樣的事情呢?在您需要的邏輯中調用calculateErrors()並讓它設置值。這將在您的模板上自動更新。

numErrors: number = 0; 

calculateErrors(key) { 
    // Do calculation 
    numErrors = resultOfCalculation; 
} 
+0

ng-cloak並沒有完全解決問題,但現在我把它嘗試捕捉塊 – mysticalstick

-1

考慮到它的數值,如果嚴格等於undefined它不應該被選中,也可以是

private get numErrors() { 
    return calculateErrors(key) || 0; 
} 

或者

{{ $ctrl.numErrors || 0 }} 
+0

這不起作用,因爲該函數不會返回一個錯誤,只需要一段時間來處理 – mysticalstick

+0

問題和答案 - 他們兩個 - 都不會說錯誤。 「過程的一段時間」應該是什麼意思?如果它沒有立即返回一個值(即該值被計算並可在下一個摘要中使用),則返回「0」。問題中的代碼無法解釋爲什麼它不起作用。 – estus