2012-03-08 3 views
2

Мне нужна поддержка коллекций в spine.js. Я знаю, что spine.js не поддерживает это в настоящий момент - не уверен, что он когда-либо будет.Коллекции в Spine.js

Кто-нибудь добавил эту функцию или знает, как лучше ее реализовать?

ответ

5

Эта функция встроена.

Коллекции только методы класса на вашей модели. Рекомендуемым способом является просто добавить эти несколько методов в вашу модель.

Если вам нужен другой класс для всего, что связано с коллекцией (потому что вы привыкли к чему-либо), вы можете просто создать новый, который наследуется от исходной модели и добавить туда классные методы.

образец: (проверьте вывод на консоль) http://jsfiddle.net/SpoBo/vBtKC/

я мог бы так же легко перемещать опубликованный метод класса в модели Post, и все работали бы, а без необходимости дополнительного класса PostCollection. Ваш выбор :)

+0

Извините, я должен был быть более ясным. Мне нужно управлять отдельными коллекциями, например, у меня есть две таблицы, и мне нужно привязать их к собственной коллекции полетов. (кстати, извините за то, что так долго отвечали) –

+0

Таблицы, как в таблицах HTML, я полагаю. Просто сделайте 2 функции на своей модели. 1, чтобы вернуть полеты для первой таблицы, а другая для второй таблицы. Для контроллеров лучше всего использовать шаблон элемента (http://spinejs.com/docs/controller_patterns), поэтому вам не нужно переписывать все элементы в обеих таблицах, когда что-то обновляется. Вы также можете проверить функциональность отношений. что-то has_many рейсов и т. д., но это работает только хорошо, если полеты связаны через идентификаторы с какой-либо другой моделью. – SpoBo

+0

Я не думаю, что 2 функции будут работать. Событие 'refresh' запускается во всех элементах, оно также не управляет дублирующимися записями, т. Е. Сохраняет только 1 версию записи. Я думал об использовании функции has_many. Возможно, это путь. –