Spine.js关系,获取当前项目的下一个和上一个

时间:2012-04-03 14:54:51

标签: spine.js

我正在使用spine mobile构建相册应用。我正在使用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

我想参考下一张和上一张照片。对于next和prev函数。什么是获得这些的最好方法?

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是在模型中添加 weight 属性并使用@findByAttribute(name, value)方法查找模型,然后您可以轻松地增加/减少< em> weight 值得到下一个/上一个。
使用属性定义订单还可以轻松修改列表的顺序。