使用 ng-controller 时是否可以让解析工作?我更喜欢使用 ng-controller,因为它允许我访问所有 1.6+ 生命周期钩子(Hook),例如 $onDestroy,在状态 obj 上定义 Controller 时我会松开它。
笨蛋: https://plnkr.co/edit/2FJ0dGtFQtBtcQ0uVbTi?p=preview
在下面的示例中,“main”中加载的 View 使 myData 可用于注入(inject),但是在 main2 中, Controller 是使用 ng-controller 定义的,并且 myData 不再可用于注入(inject)。
$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'];
}
}
});
最佳答案
使用 ui-router 状态实例化:
app.controller('MainCtrl', function(myData) {
console.log("MainCtrl")
console.log(myData);
console.log(this);
this.message = myData.join(' ');
});
使用 ng-controller 进行设置:
app.controller('MainCtrl2', function($scope) {
console.log("MainCtrl2");
console.log($scope);
this.message = $scope.$resolve.myData.join(' ');
});
关于angularjs - 使用 ng-controller 时如何让 ui-router 解析工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54816948/