[英]Cant access state name inside directive controller
由於某些原因,當我嘗試從指令控制器訪問$ state.current.name時,它始終為空。 指令是否在狀態評估之前加載? 如果是這樣,是否有解決方法? 我需要根據SPA中的狀態顯示正確的導航
例如,在我看來,我有: <navigation></navigation>
我的指令:
angular.module('app')
.directive('navigation', function($state){
return {
restrict: 'E',
controller: function() {
alert($state.current.name);
}
}
});
我的路線:
angular.module('app')
.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('home', {
url: '/home',
views: {
"title": {
template: "<title>Home</title>"
},
"body": {
templateUrl: 'app/components/home/homeView.html',
},
"navigation" : {
templateUrl: 'app/shared/navigation/homeNavBarView.html'
}
}
})
});
我設置的方式是我分別創建模塊,然后在單獨的文件中設置路由,並且偽指令也位於單獨的文件中。 然后將它們按順序加載到索引文件中。 不知道這是否與它有關。
我究竟做錯了什么?
您的控制器還必須將$ state作為參數嗎? 只是一個猜測,一切對我來說都很可靠:
controller: function($state) {
alert($state.current.name);
}
使用$ state。 $current object
而不是$state.current
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.