我正在尝试从promise错误回调中更新$scope
,如下所示:
var reportErrors = function (error) {
$scope.state['save-mappings']='update';
...
}
myService.myMethod().then(postProcess).catch(reportErrors);
但是,$scope
未正确更新且相应的ng-if未更新...
<div ng-if="state['save-mappings'] === 'update'">
有人可以帮忙吗?
编辑:postProcess功能:
var postProcess = function (data) {
var associateMediasPromise = function () {
return SupplierImportService.associateMedias($scope.getLink($scope.ngDialogData.import.links, 'associate-medias'));
};
var matchArticlesPromise = function () {
return SupplierImportService.matchArticles($scope.getLink($scope.ngDialogData.import.links, 'match-articles'));
};
var updatePostProcessPromise = function () {
$rootScope.$broadcast('init-headers');
$rootScope.$broadcast('update-import', data.data);
$rootScope.$broadcast('change-articles-page');
$rootScope.$broadcast('update-statistics');
$scope.setPopinState('save-mappings', 'done');
};
return associateMediasPromise()
.then(matchArticlesPromise)
.then(updatePostProcessPromise);
};
来自myMethod的:
var myMethod = function () {
return $http.post(...);
};