我有一个简单的基于nodejs的页面,其中在前端我使用Angular,在后端使用nodejs。现在,当我像这样通过 $http 在 Controller 中加载一些数据时 -
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();
});
然后超出此 Controller 的范围如果我尝试在像这样的 Jade 模板中显示用户 -
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 调用结束后就恢复正常了。有没有办法延迟我的 Jade 渲染,直到 getUser 调用结束?
最佳答案
您是否尝试过使用 ng-bind
指令来防止“flash”?
或者如果它不起作用,ng-cloak
指令?
关于javascript - 在 Angular 加载后加载 Jade 并解析所有变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27551089/