2016-04-27 62 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