【发布时间】:2023-04-02 01:42:01
【问题描述】:
有没有办法向 $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;
【问题讨论】:
标签: angularjs angularjs-directive angularjs-routing