📅  最后修改于: 2023-12-03 15:11:44.138000             🧑  作者: Mango
在使用 AngularJS 进行开发时,如何使用 $rootScope 控制页面加载状态?
$rootScope 是 AngularJS 中的全局作用域,可以通过它来控制整个页面的加载状态。以下是一种实现方式:
// 在 app.js 文件中创建全局加载状态变量
var app = angular.module('myApp', []);
app.run(function($rootScope) {
$rootScope.isLoading = false;
});
// 在需要进行加载的控制器中使用
app.controller('myCtrl', function($scope, $http, $rootScope) {
// 开始加载数据时将 isLoading 设置为 true
$rootScope.isLoading = true;
// 加载完成后将 isLoading 设置为 false
$http.get("http://example.com/api/data")
.then(function(response) {
$rootScope.isLoading = false;
$scope.data = response.data;
});
});
在 HTML 文件中可以使用 ng-show 指令来根据 $rootScope.isLoading 变量的值来控制加载状态的显示:
<!-- 显示加载状态 -->
<div class="loading" ng-show="isLoading">
<i class="fa fa-spinner fa-spin"></i> 正在加载...
</div>
<!-- 加载数据 -->
<div class="content" ng-hide="isLoading">
<!-- 数据内容 -->
</div>
以上代码可以在 controller 中通过修改 $rootScope.isLoading 变量来控制页面加载状态,在 HTML 文件中通过 ng-show 指令来实现加载状态的显示或隐藏。