将Chaplin与其他Backbone扩展混合使用

时间:2013-09-12 18:07:38

标签: backbone.js chaplinjs

我正在研究用卓别林写的应用程序。我们希望我们的REST是HATEOAS,我们正在考虑在我们的JSON中使用HAL作为标准链接结构。我看到there is a Backbone extension that works with HA L,但这会产生自己的ModelCollection类。卓别林还制作了自己的ModelCollection课程。是否有一种简单的方法可以创建一个“主”ModelCollection类,它结合了HAL和卓别林的模型以及Collection类?

1 个答案:

答案 0 :(得分:0)

这就是我最终要做的事情。有人想出一个更好的答案!

模型/碱/ model.coffee:

module.exports = class Model extends Chaplin.Model
  parse: HAL.Model::parse
  url: HAL.Model::url
  isNew: HAL.Model::isNew
  constructor: (attrs, options) ->
    super @parse(_.clone attrs), options

模型/碱/ collection.coffee:

module.exports = class Collection extends Chaplin.Collection
  # Use the project base model per default, not Chaplin.Model
  model: Model
  parse: HAL.Collection::parse
  url: HAL.Collection::url
  reset: HAL.Collection::reset
  constructor: (attrs, options) ->
    super @parse(_.clone attrs), options