У меня есть код, который работает над добавлением и удалением записей в и из массивов в моем объеме. В настоящий момент код не используется повторно, а вырезается/вставляется и настраивается. Кроме того, он довольно naughtly использует наследование области для доступа к массиву. Я пытаюсь создать директиву, которая исправит эти две проблемы. Директива работает нормально, пока я добавляю записи в массив. Как только я удаляю запись, я, кажется, нарушаю двунаправленную привязку. Какие-нибудь подсказки относительно того, как я должен это делать?Как удалить из массива в угловой директиве
Fiddle is here.
Он показывает SkillsCtrl, который является старым кодом, и ListEditCtrl, который является новым (воспроизводится ниже со скрипки). Добавление записи в любой список будет обновлять оба, но удаление записи из одного из этих списков прерывает привязку.
function SkillsCtrl($scope) {
$scope.addSkill = function() {
$scope.profile.skills = $scope.profile.skills || [];
$scope.profile.skills.push($scope.newskill);
$scope.newskill = "";
};
$scope.removeSkill = function() {
$scope.profile.skills = _.without($scope.profile.skills, this.skill);
};
}
function ListEditorCtrl($scope) {
$scope.addItem = function() {
$scope.list = $scope.list || [];
$scope.list.push($scope.newitem);
$scope.newitem = "";
};
$scope.removeItem = function() {
$scope.list = _.without($scope.list, this.item);
};
}
где находится ваш 'newitem' объект? –
В шаблоне для директивы. – axzr
Пожалуйста, добавьте директиву на свой вопрос от Fiddle –