直接进入代码,我将在问题中解释更多
我有这样的index.html文件:
<body class="horizontal-menu">
<!-- Preloader -->
<div id="preloader">
<div id="status"><i class="fa fa-spinner fa-spin"></i></div>
</div>
<div ng-if="isLoading">
<div id="status"><i class="fa fa-spinner fa-spin"></i></div>
</div>
<section>
<div class="contentpanel">
<!-- content goes here... -->
<error-page ng-if="error"></error-page>
<div ng-view ng-if="!isLoading && !error"></div>
</div>
</div><!-- mainpanel -->
</section>
</body>
我想为我的网页实施指标,您可以看到<div id="status"><i class="fa fa-spinner fa-spin"></i></div>
以及ng-if="isLoading"
行。
在login
组件中,我将这些代码行从login
视图更改为register
视图。
$scope.onRegister = function () {
$rootScope.isLoading = true;
$location.path(routes.REGISTER);
}
我想要的是将视图从login
视图更改为register
视图时,指示符(微调器)已启动。之后,在register component
代码中,我有这些行来强制关闭微调器。
function registerController($scope, $rootScope, $location, $http) {
$rootScope.isLoading = false;
}
但旋转器无休止地旋转。
我试着阅读$viewContentLoaded
,并将这些代码放在我的应用程序(父应用程序)以及register
控制器中。
$rootScope.$on('$viewContentLoaded', function (event) {
$rootScope.isLoading = false;
})
它仍然无济于事。
非常感谢帮助我解决这个问题。
答案 0 :(得分:0)
我认为这个答案可能会回答你的问题,解释ng-if如何运作:
https://stackoverflow.com/a/19177773/5018962
简而言之:
ngIf指令根据表达式删除或重新创建DOM树的一部分。如果分配给ngIf的表达式求值为false值,则从DOM中删除该元素,否则将元素的克隆重新插入DOM中。