【发布时间】:2019-05-23 05:55:57
【问题描述】:
我正在尝试将uibModal 集成到我的应用程序中,这将允许用户更改设置。我的问题是,如果我对设置进行更改然后关闭模式而不保存,当我打开模式备份时更改仍然存在。
我有我的普通控制器来打开模式(一切都在$scope):
var settings = $scope.site.smartboard_settings;
var modalInstance = $uibModal.open({
animation: true,
backdrop: 'static',
templateUrl: 'app/components/modals/modal.smartboard.settings.tpl.html?bust=' + Math.random().toString(36).slice(2),
resolve: {
Settings: function() {
return settings;
}
},
controller: 'EditSmartboardSettingsModalController',
controllerAs: '$ctrl'
});
我有我的模态控制器:
.controller( 'EditSmartboardSettingsModalController',
function( $uibModalInstance, $timeout, Settings ) {
var $ctrl = this;
$ctrl.settings = Settings;
$ctrl.submitted = false;
$ctrl.submitForm = function( isValid ) {
...
...
所以我打开模式并更改设置。然后我关闭模式并重新打开它,更改的设置仍然被修改。
我知道它一定与$scope 有关,但是,我认为通过传入settings 并使用controllerAs 那么我不应该修改$scope 上的任何内容。
【问题讨论】:
标签: angularjs modal-dialog angular-ui-bootstrap