2014-01-17 36 views
0

我對骨幹有新意,並且有一個問題。當我認爲一個事件被解僱時,我似乎失去了「這個」的背景。我怎樣才能保留這個模型或獲得原始的「this」。這裏是一個例子:backbone.js這個上下文在事件函數中丟失了

var MyListView = MyDBView.extend({ 
    initialize: function(options){ 

    }, 
    render: function() { 
     //stuff here. I can access this.options here 

    }, 
    dialogResponseYes: function(e){ 
     //try to get this.options and options is undefined as this has changed to another element (a button) 
    } 

}); 

那麼,我該如何得到這個原始的上下文呢?

+0

您的看法是什麼你想'這個'指向?風景? – MMM

+0

是的。另外,我想在MyListView類中聲明所有函數都可以訪問的公共屬性。但要做到這一點,我需要能夠保持所有方法和函數的「this」相同的上下文 – jason

+1

[在BackboneJS視圖中保持上下文]的可能重複(http://stackoverflow.com/questions/13233979/keep-context -within-backbonejs-view) – nikoshr

回答

2

如果您正在使用的事件對象將事件綁定到您的視圖喜歡這裏http://backbonejs.org/#View-delegateEvents一切都應該是好的,否則u能很難將它們綁定到使用_.bindAll

initialize: function(options){ 
_.bindAll(this, "dialogResponseYes"); 
    }, 

var MyListView = MyDBView.extend({ 
    initialize: function(options){ 

    }, 
    events: { 
     'click div': 'dialogResponseYes' //example 
    }, 
    render: function() { 


    }, 
    dialogResponseYes: function(e){ 

    } 

}); 
+0

我做了第一個選擇,並做到了!謝謝 – jason

相關問題