Как удалить объекты внутри объектов в Angular-Meteor?

ПРИМЕЧАНИЕ. Следующий код и демонстрация взяты из более крупного проекта Meteor + Angular.


У меня есть следующие функции для выбора и удаления объектов:

ДЕМО.

  $scope.selectParty = function(party) {
    $scope.party = party;
    $scope.type = party.type;
    $scope.date = party.date;
  }

  $scope.deletParty = function(party) {
    $scope.parties.remove(party);
  }

  $scope.selectOrganizer = function(organizer) {
    $scope.organizer = organizer;
    $scope.name = organizer.name;
    $scope.title = organizer.title;
  }

  $scope.deletOrganizer = function(organizer) {
    $scope.party.organizers.remove(organizer);
  }

Действие «Выбрать» работает как для Сторон, так и для Организаторов, как вы можете видеть в демонстрации, отображая данные в таблице ниже.

Действие «Удалить» не работает. Хотя, позвольте мне отметить, что в моем приложении, которое у меня есть на моей машине и над которым я сейчас работаю в Meteor, действие «Удалить» прекрасно работает на Сторонах, что означает, что синтаксис «$scope.parties.remove(party)» работает. Но по какой-то причине это не работает на демо plnkr :(

Мой вопрос действительно касается действия «Удаление организаторов», когда я нацеливаюсь на объект (organizer) внутри массива внутри выбранного объекта (party)… это не работает. Мне интересно, почему, и каков правильный синтаксис.

ПРИМЕЧАНИЕ 2. Мне известны Angular splice и index, но я не могу использовать их здесь, так как я работаю не просто с массивами Angular, а с данными базы данных в Meteor.

Спасибо!


person trs    schedule 01.08.2015    source источник


Ответы (1)


Органайзер является частью предмета вечеринки, а не отдельной коллекцией. Итак, что вам нужно сделать, это удалить партию из объекта, а затем сохранить объект вечеринки.

Примечание2 неверно. Если вы не написали свой вопрос и не ошиблись.

person Tj Gienger    schedule 12.08.2015