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