2017-06-22 114 views
0

我已阅读有关templateUrl的文档,它只接受$ stateParams作为函数参数,所以我检查了templateProvider,文档说它只能返回html视图('view.html')。Angularjs动态路由模板URr更改

问题

我使用MVC 5和templateUrl我刚才提到我的MVC视图控制器。 但现在我想根据工厂解决的承诺动态地选择模板。 它的结果是所需的视图是空的。我得到空视图和控制台是干净的。 我检查了console.log($templateRequest('groupView/addNewGroup'));(屏幕以上) 的结果,我得到了html,但我的观点是空的。

link

是否可以引用mvc控制器而不是在templateProvider中返回'.html'文件?

我的代码

.state('addNewGroup', { 
    url: '/group/new', 
    resolve: { 
     isUserLoggedIn: function ($templateRequest, checkPermission) { 
      checkPermission.checkPermission() 
       .then(function (result) { 
        if (!result) { 
         return $templateRequest('groupView/login'); 
        } else {       
         console.log($templateRequest('groupView/addNewGroup')) 
         return $templateRequest('groupView/addNewGroup'); 
        } 
       }); 
     } 
    }, 
    views: { 
     "leftPanel": { 
      templateUrl: '/groupView/simpleLeftPanel', 
      controller: 'simpleLeftPanelCtrl' 

     }, 
     "content": { 
      templateProvider: function (isUserLoggedIn) { 
       return isUserLoggedIn; 
      }, 
     } 
    }, 
}); 

回答

0

我只是需要的checkPermission前增加回报,这样的:

return checkPermission.checkPermission() 
    .then(...).. 

现在,所有的伟大的工作。