主干错误,对象add没有方法'bind'

Backbone error, Object add has no method 'bind'

本文关键字:有方法 bind add 错误 对象      更新时间:2023-09-26
items.bind 'add', (item) => 
    @addOne(item)
addOne: (item) ->
    view = new ListItem({model: item})

. .视图初始化抛出如下错误:TypeError: Object add没有bind方法

class ListItem extends Backbone.View
    el: $ '#wrap'
    template: $ '#listItem'
    initialize: () ->
        @model.bind 'change', @render, @ 
        @model.bind 'destroy', @remove, @
    render: () ->
        @el.append @template.tmpl @model.toJSON()

编辑:设置视图之前的日志项导致…

Item
_callbacks: Object
_changed: false
_changing: false
_escapedAttributes: Object
_previousAttributes: Object
attributes: Object
cid: "c2"
collection: Items
__proto__: ctor

但是如果我在初始化视图时log @model它是一个空对象add

编辑2:item。bind在addOne中是未定义的,不知道为什么

您的代码看起来不错,但是您添加到items的对象似乎不是一个有效的模型。你的items.add呼叫用的是什么代码?验证运行items.add(new Backbone.Model)时没有出现错误

也许你做了

items.add [{foo: bar}]

但是在Collection类上设置model属性,itemsBackbone.Model子类以外的实例?