Дано: Приложение для записи заметок. Есть форма, в которую пользователь вводит данные. Эти данные передаются обьекту, обьект записывается в массив в $scope. Далее эти данные отображаются во вьюхе. Для каждой заметки есть кнопка "Перенести в архив". При нажатии этой кнопки обьект, которому соответствует кнопка, надо перенести в другой массив.
Вопрос: как связать конкретный обьект с кнопкой переноса в архив. Другими словами, как сделать так, чтобы при нажатии на перенос в архив заметки A, Angular выбрала именно нужный нам обьект и перенесла его в другой массив?
Ну написать функцию которая будет создавать новый массив и в него по одному переносить все элементы. Это можно сделать через map или через angular.forEach() метод.
ЗЫ: В ангуларе данные и так в представлении меняются, MVVM фреймворк как бы ;)
Мне нужно, чтобы переносились данные только того обьекта, по которому кликнет пользователь. В этом вся загвоздка: кнопка "добавить в архив" есть у каждого обьекта в представлении. Но сама эта кнопка с обьектом никак не связана.
Добавьте к моделе какой-то параметр и по нему сортируйте. К примеру у Вас массив $scope.array. В html там где Вы выводите все эллементы массива (ng-repeat="el in array") вставьте checkbox с ng-model="el.selectedElem" и уже у себя в контроллере делайте функцию которая будет проверять selectedElem на true в каждом елементе массива.
Anton: https://jsfiddle.net/kqm70bm7/ вот Вам даже живой пример. Я там специально вывел массив в виде текста, просмотрите как ангулар его изменяет когда Вы отмечаете чекбоксы. Думаю дальше сами догадаетесь что делать.