backbone.js: кнопка в представлении, которая влияет на другую модель в коллекции - PullRequest
3 голосов
/ 05 мая 2011

Я только начинаю работать с backbone.js.Пока мне это очень нравится.

У меня есть что-то вроде этого:

  • ModelA
  • ModelB
  • ViewA
  • ViewB

ModelA содержит коллекцию ModelB

Как создать ViewB для ModelB с помощью кнопки, которая при нажатии изменяет атрибут следующего экземпляра ModelB вколлекция

Ответы [ 2 ]

2 голосов
/ 06 мая 2011
var col = this.model.collection;
var nextModel = col.at( col.indexOf(this.model) + 1)
if(nextModel) nextModel.set({whatevar});

Вам не нужно отслеживать родительскую коллекцию, магистраль сделает это за вас.Вы также должны проверить, находитесь ли вы в конце коллекции.

0 голосов
/ 05 мая 2011

Кажется, я что-то понял.Я поделюсь, чтобы увидеть, что другие думают, чтобы другие могли извлечь выгоду.

Я просто передаю ссылку на родительскую коллекцию каждой модели в коллекции.

Внутри моей коллекции при добавленииновый экземпляр:

var newModelBInstance = new ModelB( { id: "xxx", ParentCollection: this } );

А затем, внутри моего представления ModelB:

this.model.get("ParentCollection").at(this.model.sortValue + 1).set({ myAttr: false });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...