2 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
將承諾保存在父控制器中:
$scope.promise = patentsRestService.fetchAllPatents();
$scope.promise.then(
function(response){
var patents = response;
$scope.portfolioLoaded = true;
}
)
在子控制器中使用承諾:
function init() {
$scope.$parent.promise.then(function() {
$scope.parentLoaded = true;
});
}
這將適當(dāng)延遲設(shè)置。

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
將父狀態(tài)的調(diào)用移動(dòng)到resolve:
.state('portfolio', {
url: '/portfolio',
templateUrl: 'app/templates/portfolio/portfolio.tpl.htm',
controller: 'portfolioCtrl',
controllerAs: '$ctrl',
resolve: {
patentData: function(patentsRestService){
return patentsRestService.fetchAllPatents()
}
}
})
它總是會(huì)在子狀態(tài)加載之前解決
閱讀更多:https : //github.com/angular-ui/ui-router/wiki#resolve
添加回答
舉報(bào)