2016-04-27 64 views
0

我是新來的主幹。我一直在尋找它已在Saiku中使用。我遇到了下面的線。Backbone.js和Saiku中的觸發事件

Saiku.session.trigger('workspace:new', { workspace: this }); 

'workspace:new'是一個事件嗎?主幹觸發器如何將其識別爲事件?

回答

1

簡短回答:是的,workspace:new是一個事件。

骨幹有幾個內置的事件,你可以聽。但是你也可以觸發自定義事件,就像這段代碼所做的那樣。該事件僅由一個字符串標識(在這種情況下,"workspace:new")。當您從Backbone's Event Module繼承的對象上調用trigger時,該事件「發生」。作爲trigger的第二個參數,您可以傳遞一些關於事件的數據,任何您想要從事件處理函數中訪問的數據。

然後,通常在其他地方,會有代碼等待該事件發生。這是通過調用.on.listenTo方法設置的。

這裏有一個基本的例子:(看到它在行動on JSBin

var model = new Backbone.Model(); 

model.on('my-event', function (data) { 
    console.log("my-event happened!"); 
    console.log(data); 
}); 


model.trigger('my-event'); 
model.trigger('my-event', 'some-data'); 
model.trigger('my-event', { anything: 'works' }); 
+0

感謝您的回答,這是有幫助! – SDJ