Angularjs动态路由模板Url变化
Posted
技术标签:
【中文标题】Angularjs动态路由模板Url变化【英文标题】:Angularjs dynamic route templateUrl change 【发布时间】:2017-11-25 14:54:23 【问题描述】:我读过关于 templateUrl 的文档,它只需要 $stateParams 作为函数参数,所以我检查了 templateProvider,文档说它只能返回 html 视图('view.html')。
问题
我正在使用 mvc 5,在 templateUrl 中我只是引用了我的 mvc 视图控制器。
但现在我想根据工厂解决的承诺动态选择模板。
结果是期望的视图是空的。我得到空视图,控制台很干净。
我检查了console.log($templateRequest('groupView/addNewGroup'));
的结果(屏幕上方)
我得到了 html,但我的视图是空的。
.
是否可以引用 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;
,
,
);
【问题讨论】:
【参考方案1】:我只需要在checkPermission之前添加return,就像这样:
return checkPermission.checkPermission()
.then(...)..
现在,一切都很好。
【讨论】:
以上是关于Angularjs动态路由模板Url变化的主要内容,如果未能解决你的问题,请参考以下文章