【发布时间】:2014-11-04 21:13:34
【问题描述】:
我有以下路线定义:
..........
when('/:templateFile',
{
templateUrl: function (param) { return 'views/' + param.templateFile + '.html' }
})
..........
下一段代码监听路由的变化。如果用户未通过身份验证并且他想要导航到的下一页/模板不是登录页面,则用户将被重定向到登录页面。
例如,除了 next.templateUrl 值实际上是 function (param) { return 'views/' + param.templateFile + '.html' 而不是 views/login.html 之外,一切正常。
alert(next.templateUrl) 将显示function (param) { return 'views/' + param.templateFile + '.html'。
app.run(function ($rootScope, $location) {
$rootScope.$on("$routeChangeStart", function (event, next, current) {
if (!$rootScope.IsAuth) {
alert(next.templateUrl); // problem
if (next.templateUrl === "views/login.html") {
} else {
$location.path("/login");
}
}
});
});
任何想法在使用动态模板时如何获取下一个 templateurl?
【问题讨论】:
标签: angularjs angular-ui-router