Angular 慢慢评估 ng-show

Angular evaluating ng-show slowly

我有一个在我的控制器中评估的简单验证:

<span class="....." ng-show="!ruleHasAnsweredQuestions()">
    Please answer all questions</span> 

在控制器中:

$scope.ruleHasAnsweredQuestions  = function() { return a+b+c>9; }

虽然它真的很慢,需要 1/2 秒左右的时间来重新评估 "a"、"b" 或 "c" 更改。

在一般意义上,如何加快 UI 以便一旦 a、b、c 发生变化,UI 更新得更快?

你可以添加 ng-cloak

<span class="....." ng-show="!ruleHasAnsweredQuestions()" ng-cloak>

这将防止延迟。

根据 angular js 文档,ng-cloak 的工作原理是暂时隐藏标记的元素,它通过本质上应用执行此操作的样式来实现:

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

用这个。在此 plunker:

中完成测试
 <span  ng-show="(a+b+c) > 9">
  Please answer all questions
</span> 

原来我已经添加了 "Animate.css" 和指令 'ngAnimate' 到导致双长动画的元素。

删除 Animate.css 修复了它