有一個應用程序使用Bootstrap Angular UI,變量爲$scope.companies
。在點擊一個按鈕時,第一個模式打開,該變量的公司顯示在select
元素中。Angularjs和BootstrapUI - 如何根據另一個模式中的更改更新變量
用戶可以點擊添加一個新公司按鈕來打開一個新的,第二個,現有的模式(在現有的模式上),他可以創建一個新的公司。
關閉第二個模式後,用戶返回到第一個模式,但select元素中的公司沒有使用剛剛創建的新公司更新。
我的問題是 - 如何更新第一個模式,以便它反映出對$scope.companies
的更改,並且該新公司在select元素中可用?
在我使用一個工廠主控制器(」 sharedCompanies
)來檢索公司:
sharedCompanies.getCompanies().then(function(data){
$scope.companies = data;
}
比,每次當我打開一個新的模式我做這樣的事情傳遞範圍,像這樣:
$scope.newCompany = function() {
var newCompanyModalInstance = $uibModal.open({
templateUrl: '/static/partials/newCompanyModal.html',
controller: 'NewCompanyCtrl',
size: 'lg',
resolve: {
events: function() {
return $scope.events;
},
},
scope: $scope
});
在每種模式中,我可以訪問$scope.companies
並且它們顯示正確。新公司成功創建,但爲了在select
元素中可見,我需要關閉模塊並再次打開它們...
如何在新元素已更新後更新這些模式中的$scope.companies
變量添加?
你是如何加入新公司的? – Ladmerc