1
得到模板名称,我有以下路由定义:AngularJs从动态templateurl
..........
when('/:templateFile',
{
templateUrl: function (param) { return 'views/' + param.templateFile + '.html' }
})
..........
下一段代码监听路径正在发生变化。如果用户未通过身份验证,并且他想要导航到的下一个页面/模板不是登录页面,那么用户将被重定向到登录页面。
一切工作正常,除了next.templateUrl
值实际上是function (param) { return 'views/' + param.templateFile + '.html'
而不是views/login.html
,例如。
警报(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?
Works perfect!非常感谢! – 2014-11-05 05:42:41