0

我是骨干新手。我一直在寻找它已在 Saiku 中使用。我遇到了下面的行。

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

'workspace:new' 是一个事件吗?主干触发器如何将其识别为事件?

4

1 回答 1

1

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

Backbone 有几个可以监听的内置事件。但是您也可以触发自定义事件,就像这段代码一样。该事件仅由一个字符串(在本例中为"workspace:new")标识。当您调用triggerBackbone 的 Event Module继承的对象时,该事件“发生”。作为 的第二个参数trigger,您可以传递有关事件的一些数据,即您希望从事件处理函数访问的任何数据。

然后,通常在其他地方,会有代码等待该事件发生。这是通过调用.onor.listenTo方法设置的。

这是一个基本示例:(在 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' });
于 2016-04-27T12:32:21.887 回答