我有一个简单的基于nodejs的页面,其中在前端我使用角度和后端nodejs。现在当我在控制器中加载一些像这样的数据 -
angular.module('student').controller('StudentDashBoardController', function($rootScope, $scope,$http,$location,mvNotifier) {
$scope.getUser = function(){
var url = '/getUser';
$http({method:'POST',url:url}).success(function(data,status,headers,config){
if(status==200){
$rootScope.user = data;
var date = new Date(data.date);
$rootScope.user.joinMonth=date.toUTCString().split(' ')[2];
$rootScope.user.joinYear=date.getYear();
}
else
mvNotifier.error("Some Internal Error ocurred. Please Try Again Later");
});
};
$scope.getUser();
});
然后超出此控制器的范围如果我试图在这样的玉石模板中显示用户 -
li.dropdown.user.user-menu
a.dropdown-toggle(href='#', data-toggle='dropdown')
i.glyphicon.glyphicon-user
span
| {{user.firstName}} {{user.lastName}}
i.caret
ul.dropdown-menu
li.user-header.bg-light-blue
h3 {{user.firstName}} {{user.lastName}}
br
h5 Member since {{user.joinMonth}}, {{user.joinYear}}
然后我看到有一段时间,直到调用getUser完成后,我看到{{user.firstName}} {{user.lastName}}
在$ http呼叫结束后,它恢复正常。有没有办法延迟我的玉渲染,直到getUser调用结束?
答案 0 :(得分:1)
您是否尝试使用ng-bind
指令来阻止“闪烁”?
或者,如果它不起作用,ng-cloak
指令?
PS。在我看来,jade模板是在你得到响应之前编译的,所以问题出在事物的角度方面,只需要时间来执行并用适当的数据替换占位符。