在角载荷后加载翡翠并解析所有变量

loading jade after angular loads and resolves all variables

本文关键字:变量 加载      更新时间:2023-09-26

我有一个简单的基于nodejs的页面,其中在前端我使用angular,在后端使用nodejs。现在,当我通过这样的$http在控制器中加载一些数据时 -

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调用结束?

您是否尝试过使用ng-bind指令来防止"闪光"?或者如果它不起作用,ng-cloak指令?

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