documentation for resolve并未指定是否存在关于键名选择的问题。
因此,如果我有类似以下的代码,那么控制器会获得相同的承诺或正确的承诺吗?
...
$stateProvider.state('myState', {
controller: 'ControllerA',
resolve:{
promiseObj: function($http) {
return $http({method: 'GET', url: '/someUrl'});
}
}
}).state('otherState', {
controller: 'ControllerB',
resolve: {
promiseObj: function($http) {
return $http({method: 'GET', url: '/someOtherUrl'});
}
}
});
...
.controller('ControllerA', ['promiseObj', function(promiseObj) {...}])
.controller('ControllerB', ['promiseObj', function(promiseObj) {...}])
答案 0 :(得分:0)
可以重复使用结算名称(当然要小心)。他们甚至可以在孩子的决心中被覆盖。孩子的决心甚至可以取决于父母的决心。
$stateProvider.state('myState', {
controller: 'ControllerA',
resolve:{
promiseObj: function($http) {
return $http({method: 'GET', url: '/someUrl'});
}
}
}).state('otherState', {
controller: 'myState.Child',
resolve: {
promiseObj: function($http, promiseObj) { // the parent resolve data is injected as promiseObj
return $http({method: 'GET', url: '/someOtherUrl'});
}
}
});