我有一個狀態在我的角度.config $ stateProvider裏面,我想讓onEnter方法獲得訪問控制器$狀態的狀態。
我的狀態聲明如下:
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('panda1', {
url: '/panda/',
templateUrl: 'templates/panda.html',
controller: 'pandaCtrl',
onEnter: onEnterPanda
})
.state(...) //bunch of other states
.state(...)
}
控制器看起來是這樣的:
.controller('panda1IntroCtrl',function($scope) {
$scope.name = "pandaboy1";
})
,我希望onEnterPanda功能以某種方式看起來像這樣
function onEnterPanda() {
var scope = this.getController().get$Scope(); //would be nice
console.log(scope.name); //pandaboy1
scope.name = 'pandaboy2';
console.log(scope.name); //pandaboy2
}
我在onEnterPanda函數中找不到任何對這個對象內的$ scope的引用。
我也知道了$ SCOP可能喜歡的東西是accecibly:
angular.element(document.getElementById('yourElementId')).scope();
但是,這並不覺得自己是正確的答案。
我認爲你沒有正確使用控制器範圍。看起來你真正想要的是創建一個服務,這是一個可以被其他控制器和服務訪問的單例對象,並且解析你的狀態定義中的服務。 –