Отношение Spine.js, получить следующий и предыдущий текущий элемент - PullRequest
0 голосов
/ 03 апреля 2012

Я создаю приложение для создания фотоальбома с помощью мобильного телефона Spine. Я использую spine.relation для моделирования отношений с фотоальбомом.

class Album extends Spine.Model
  @configure 'Album', ....

  @hasMany "photos", 'models/photo'


class Photo extends Spine.Model
  @configure 'Photo', ....

Контроллер:

class PhotosShow extends Panel
  events:
    'tap .next' : 'next'
    'tap .prev' : 'prev'

  constructor: ->
    super

    Photo.bind 'change', @render
    @active @change


  render: =>
    return unless @item
    @html require('views/photos /show')(@item)

  change: (params) ->
    @item = Asset.find(params.id)
    @render()

  next: ->
    # show next photo

  prev: ->
    # show previous photo

Я хотел бы иметь ссылки на следующую и предыдущую фотографию. для следующих и предыдущих функций. Какой лучший способ получить их?

1 Ответ

1 голос
/ 07 апреля 2012

Я думаю, что лучший способ сделать это - добавить свойство weight к вашей модели и использовать метод @findByAttribute(name, value), чтобы найти модель, тогда вы можете легко увеличить / уменьшить вес значение, чтобы получить следующий / предыдущий.
Использование свойства для определения порядка также дает вам возможность легко изменять порядок вашего списка.

...