AngularJS推迟页面显示直到$timeouts过去

bvuwiixz  于 2023-09-30  发布在  Angular
关注(0)|答案(1)|浏览(119)

我有一堆使用$timeouts来应用样式的指令。这会导致在几毫秒的时间内有一些内容未正确显示。有没有一种方法可以推迟AngularJS显示下一个模板,直到所有的$timeout样式都被应用?

ctehm74n

ctehm74n1#

ng-cloak是用来隐藏元素直到它们准备好渲染,但是我对它没有太多的兴趣。
我倾向于在控制器中使用一个变量:

$scope.loading = false
$timeout(function() {
  // do stuff
  $scope.loading = true
}, 2000);

然后在视图中:

<div ng-if="loading===true">
  <!-- your page -->
</div>

我还发现你应该把你的Angular <script>放在HTML头中。
如果你像大多数人建议的那样把它放在页脚,那么页面在遇到它时就不知道ng-if是什么意思了。这会导致元素在屏幕上 Flink 。当Angular加载它时,它会隐藏它。这会导致页面加载时出现 Flink 效果。

相关问题