【问题标题】:Backbone collection.create not triggering 'add' event骨干 collection.create 不触发“添加”事件
【发布时间】:2013-01-20 21:07:10
【问题描述】:

我正在为一个简单的主干/咖啡脚本示例而苦苦挣扎。我正在尝试向 QuestionList 添加一个问题,并让它在集合上触发一个“添加”事件,以便我可以呈现它。我正在使用 create 方法,因为我试图让它连接到我的服务器,这里由控制台建模。

在此示例中,控制台打印“create: {"question":"Question","answer":"Answer"}" 但未按预期打印“事件发生”。我在这里做错了什么?

jQuery ->
    class Question extends Backbone.Model
        defaults:
            question: 'Question'
            answer: 'Answer'

    class QuestionList extends Backbone.Collection
        model: Question

        initialize: ->
            @bind 'all', -> console.log "Event occurred"

    Backbone.sync = (method, model) ->
        console.log method + ": " + JSON.stringify(model)

    question_list = new QuestionList

    question_list.fetch()

    question_list.create 
                    question: $('#question').val()
                    answer: $('#answer').val()

【问题讨论】:

  • 问题似乎不在于您发布的代码部分,因为您的代码中没有任何明显的错误任务,并且事件正在触发并处理得很好(在 Backbone 0.9 .9)。请参阅此小提琴进行演示:jsfiddle.net/nW7ne
  • 你的视图是什么样的?
  • 感谢 Fencliff,听说它对你有用,但对我没有用,这让我意识到我使用的是我找到的教程中的一个更旧的 Backbone。感谢您的帮助!

标签: events backbone.js coffeescript


【解决方案1】:

使用的 Backbone 版本很旧,因为我下载了教程并从那里继续工作。升级到 Backbone 0.9.9 解决了这个问题。 (感谢芬克利夫!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    相关资源
    最近更新 更多