使用 ng-controller 时是否可以解决问题?我更喜欢使用 ng-controller,因为它允许我访问所有 1.6+ 生命周期钩子,例如 $onDestroy,在状态 obj 上定义控制器时我会丢失这些钩子。
Plunker:https ://plnkr.co/edit/2FJ0dGtFQtBtcQ0uVbTi ? p = preview
在下面的示例中,在“main”中加载的视图使 myData 可用于注入,但是在 main2 中,控制器是用 ng-controller 定义的,而 myData 不再可用于注入。
$stateProvider.state('home', {
url: '/',
views: {
'main': {
controller: 'MainCtrl',
controllerAs: 'vm',
templateUrl: 'main.html'
},
'main2': {
templateUrl: 'main2.html'
}
},
resolve: {
myData: function() {
return ['My', 'resolve', 'is', 'working'];
}
}
});
app.controller('MainCtrl', function(myData) {
console.log("MainCtrl")
console.log(myData);
console.log(this);
this.message = myData.join(' ');
});
app.controller('MainCtrl2', function($scope) {
console.log("MainCtrl2");
console.log($scope);
this.message = $scope.$resolve.myData.join(' ');
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句