2011-09-19 34 views
2
items.bind 'add', (item) => 
    @addOne(item) 

addOne: (item) -> 
    view = new ListItem({model: item}) 

視圖..initialization引發此錯誤:類型錯誤:對象添加沒有方法「捆綁」骨幹錯誤,對象添加沒有方法「綁定」

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這就是所謂的空對象添加

編輯2:item.bind從addOne內未定義,不知道爲什麼

+0

我無法複製。你使用的是最新版本的Backbone.js嗎? –

+0

@Trevor Backbone.js 0.5.0,我會更新它,看看有什麼變化? – fancy

+0

值得試試0.5.3嗎?另外,你已經檢查過'item.bind'是'addOne'中的一個函數,對嗎? –

回答

1

您的代碼看起來不錯,但您添加到items的對象似乎不是有效的模型。您撥打items.add電話時使用了哪些代碼?驗證在運行items.add(new Backbone.Model)時沒有出現錯誤。

也許你沒有

items.add [{foo: bar}] 

但設置model財產上的Collectionitems是比一個Backbone.Model子類以外的東西的實例?