有没有办法向 $routeProvider 添加额外的参数并在指令中检索这些参数?我需要这个,因为变量是特定于页面的。
我想向 routeprovider 添加一个参数 pageName,如下所示:
$routeProvider
.when('/home',
{
controller: 'homeController',
templateUrl: '_templates/home.html',
pageName: 'home'
})
并在这样的指令中使用这个额外的参数
directives.dirPagename = ['$route', '$routeParams', function($route, $routeParams) {
return {
restrict: 'ECA',
template: 'test',
link: function (scope, elem, attrs) {
console.log($route);
console.log($routeParams);
}
}
}]
当我记录 $route 并在 google webdeveloper 工具中检查它时,pageName 参数有几层深。
Object {routes: Object, reload: function}
current: D
$$route: Object
controller: "homeController"
**pageName: "home"**
有没有办法直接获取这个变量,或者这完全是错误的方式?
更新:
您可以使用 var pageName = $route.routes[$location.$$path].pageName; 获取路由中的变量