有一个应用程序使用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