Backbone.js和Saiku中的触发事件

时间:2016-04-27 12:20:30

标签: javascript backbone.js eventtrigger saiku

我是骨干新手。我一直在寻找它已被用于Saiku。我遇到了以下问题。

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

'工作空间:新'一个事件?骨干触发器如何将其识别为事件?

1 个答案:

答案 0 :(得分:1)

简短回答:是的,workspace:new是一个事件。

Backbone有几个你可以监听的内置事件。但您也可以触发自定义事件,就像此代码一样。该事件仅由字符串标识(在本例中为"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' });