У меня есть ботстрап модальный. При нажатии кнопки закрытия значение массива изменяется, но оно не должно.закрыть кнопку в bootstrap-modal
controller.js
$scope.open = function(){
var modalInstance = $modal.open({
animation: true,
templateUrl: 'views/view1.html',
controller: 'controller2',
resolve: {
items: function(){
return $scope.array;
}
}
});
modalInstance.result.then(function (changed_array){
$scope.array = changed_array;
},function(){
// no change
});
};
код второго контроллера
angular.module('storagewebApp').controller('controller2',function($scope, $modalInstance, items) {
$scope.array = items;
$scope.ok = function(){
$modalInstance.close($scope.array);
};
$scope.cancel = function(){
$modalInstance.dismiss('cancel');
};
});
view2.html
<div class="modal-header">
<h4 class="modal-title">Set threshold</h4>
</div>
<div class="modal-body">
<div class="form-group" align="left">
<div> E:</div> <input type="text" ng-model="array[0]">
<div> M:</div><input type="text" ng-model="array[1]">
<div>T:</div><input type="text" ng-model="array[2]">
<div>F: </div><input type="text" ng-model="array[3]">
<div> I:</div><input type="text" ng-model="array[4]">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-warning" ng-click="cancel()">Close</button>
<button type="button" class="btn btn-primary" ng-click="ok()">Save</button>
</div>
</div>
Значение изменяется с помощью поля ввода, но при нажатии кнопки близких значений не должно быть направлены к первому контроллеру, но по нажатию кнопки закрытия значения измененного массива передаются первым контроллер ,
Значения изменяются даже при нажатии кнопки закрыть, потому что при открытии модального вы передаете ссылку вашего массива от первого контроллера, а в модульном контроллере вы все еще манипулируете этой ссылкой. Попробуйте в модульном контроллере использовать: $ scope.array = angular.copy (items); –
Этот код работает в chrome и firefox, но в IE он не сохраняет значение в переменной области видимости, то есть в поле ввода предыдущие значения не появляются и после изменения значений в окнах ввода эти изменения не отражаются в переменной области видимости , –