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
但如果我在初始化视图时记录@model,则它是一个名为add
的空对象编辑2:item.bind未在addOne中定义,但不确定为什么
答案 0 :(得分:1)
您的代码看起来很好,但您添加到items
的对象似乎不是有效的模型。您为items.add
电话使用了哪些代码?验证运行items.add(new Backbone.Model)
时是否收到错误。
也许你做过
items.add [{foo: bar}]
但是在model
类Collection
上设置items
属性Backbone.Model
是{{1}}子类以外的其他实例?