在角加载后加载玉并解析所有变量

时间:2014-12-18 16:17:49

标签: javascript angularjs node.js express

我有一个简单的基于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调用结束?

1 个答案:

答案 0 :(得分:1)

您是否尝试使用ng-bind指令来阻止“闪烁”? 或者,如果它不起作用,ng-cloak指令?

PS。在我看来,jade模板是在你得到响应之前编译的,所以问题出在事物的角度方面,只需要时间来执行并用适当的数据替换占位符。