Backbone Todos示例应用程序

时间:2013-03-22 13:29:11

标签: backbone.js coffeescript

我目前在Backbone的todos应用示例中遇到问题。你可以在这里找到我的代码: http://jsfiddle.net/chrisg93/96tgP/3/

$ ->
  Todo = Backbone.Model.extend
    defaults:
      title: "Empty task"
      done:  false
      order: Todos.nextOrder()

  TodoList = Backbone.Collection.extend
    model: Todo
    nextOrder: ->
      if not @length then 1 else (@model.last().get "order") + 1

  Todos = new TodoList()

当我尝试运行这个极简主义代码时,我收到一条错误消息,说我无法调用未定义的方法“nextOrder”。我已经按照教程进行操作,并且不明白为什么这不起作用。

你可以帮帮我吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

在您的模型中,定义Todos未定义。

我认为你应该让order成为模型的一种方法,并参考模型所属的集合,如下所示:

Todo = Backbone.Model.extend
    defaults:
      title: "Empty task"
      done:  false

    order: @collection.nextOrder()