$routeProvider に追加のパラメーターを追加し、ディレクティブでこのパラメーターを取得する方法はありますか? 変数はページ固有であるため、これが必要です。
パラメータ pageName を次のように routeprovider に追加したいと思います。
$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 Web 開発者ツール内でこれを調べると、pageName パラメータは数層の深さです。
Object {routes: Object, reload: function}
current: D
$$route: Object
controller: "homeController"
**pageName: "home"**
この変数を直接取得する方法はありますか、それとも完全に間違った方法ですか?
アップデート:
var pageName = $route.routes[$location.$$path].pageName; を使用して、ルーティングで変数を取得できます。