2014-11-03 3 views
1

Я загрузил данные в таблицу и делаю редактирование и удаление. Я создал sample plunker, чтобы объяснить мою основную проблему. Обратите внимание, что это не настоящий код приложения, который я использую.Как предотвратить привязку области при редактировании?

Моя функция редактирования выглядит следующим образом:

$scope.edit = function(user) { 
    $scope.user = user; 
}; 

$scope.user связывается с входного контроля.

Моя проблема в том, что я не хочу менять данные таблицы одновременно, когда я редактирую из поля ввода. Как предотвратить такое поведение?

ответ

3

вы можете использовать angular.copy т.е.

$scope.edit = function(user) { 

    angular.copy(user, $scope.user); 

    }; 

смотрите демо http://plnkr.co/edit/n4g5WKojIsOrtAcm3cgR?p=preview

angular.copy Создает глубокую копию источника, в этом случае копия «пользователя», так что вы собираетесь редактировать совершенно разные объект вместо объекта из вашего массива пользователей

+0

блестящий! спасибо sylwester. это был бы мой ответ, могли бы вы объяснить, почему это происходит и как это решить, используя angular.copy() ?? – Gayan

+1

ОК неважно, вот причины для углового.copy() https://www.youtube.com/watch?v=vV1CHwr6oDo#t=167 – Gayan

Смежные вопросы