我是处理角度js的新手,有时在firefox上加载数据它显示变量名称,在几节后它以正确的方式显示该变量的内容。如何加载此数据或如何应用加载程序来加载数据。您可以在下面的屏幕截图中查看。
答案 0 :(得分:2)
要在加载数据时显示加载屏幕,您可以编写自定义指令。
//指令
app.directive('loading', ['$http', function ($http) {
return {
restrict: 'A',
link: function (scope, elm, attrs) {
scope.isLoading = function () {
return $http.pendingRequests.length > 0;
};
scope.$watch(scope.isLoading, function (v) {
if (v) {
elm.show();
} else {
elm.hide();
}
});
}
};
}]);
像这样使用
<body>
<!-- apply style/css to below div to cover entire page/element on which you want to show loader -->
<div loading>
<!-- add an image tag here with src as any loading gif image -->
</div>
</body>
答案 1 :(得分:1)
使用ng-cloak。就是这样:
CSS:
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
HTML:
<body ng-cloak> ... </body>
会起作用,但它会隐藏整个身体。 https://docs.angularjs.org/api/ng/directive/ngCloak:
该指令可以应用于元素,但首选用法是将多个ngCloak指令应用于页面的一小部分,以允许逐步呈现浏览器视图。
因此,将ng-cloak
应用于特定元素会更好:
<div ng-cloak> ... </div>
<div ng-cloak> ... </div>
Here很好地描述了如何添加加载信息。