2017-04-03 19 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

相关问题