我的應用程序中有一個mdDialog,它可以調用API來響應某些數據。我需要在主控制器中可訪問此數據響應,以便可以在另一個呼叫中使用它。如何將響應數據從mdDialog中的http.get()傳遞給主控制器?
CRUD操作
$scope.add_id = [];
$scope.createAddress = function() {
$http.get('api.php?action=create-address', {
params: {
add1: $scope.newadd.add1,
add2: $scope.newadd.address2,
city: $scope.newadd.city,
state: $scope.newadd.state,
zip: $scope.newadd.zip
}
})
.success(function(response) {
$scope.add_id = response.data[0].address_id;
});
};
mdDialog
$scope.addParcel = function(ev) {
$mdDialog.show({
controller: DialogController,
templateUrl: 'libs/html/addparcel.html',
parent: angular.element(document.body),
targetEvent: ev,
clickOutsideToClose:true,
scope: $scope,
preserveScope: true
});
};
所以addParcel mdDialog裏面我有一個按鈕,執行addAddress功能和原來成功的,我可以在對話框中訪問數據。但是,即使對話框設置爲保留範圍,關閉對話框後,address_id在主控制器中完全不會顯示。我應該用當地人嗎?我怎樣才能讓數據在主控制器中可訪問?請儘可能提供信息,因爲我仍然是AngularJS的新手。謝謝。
下手,[唐't use'.success'](http://stackoverflow.com/questions/35329384/why-are-angular-http-success-error-methods-deprecated-removed-from-v1-6)。 – Claies