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 修复了它
我有一个在我的控制器中评估的简单验证:
<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 修复了它