我是骨干新手。我一直在寻找它已在 Saiku 中使用。我遇到了下面的行。
Saiku.session.trigger('workspace:new', { workspace: this });
'workspace:new' 是一个事件吗?主干触发器如何将其识别为事件?
我是骨干新手。我一直在寻找它已在 Saiku 中使用。我遇到了下面的行。
Saiku.session.trigger('workspace:new', { workspace: this });
'workspace:new' 是一个事件吗?主干触发器如何将其识别为事件?
简短的回答:是的,workspace:new
是一个事件。
Backbone 有几个可以监听的内置事件。但是您也可以触发自定义事件,就像这段代码一样。该事件仅由一个字符串(在本例中为"workspace:new"
)标识。当您调用trigger
从Backbone 的 Event Module继承的对象时,该事件“发生”。作为 的第二个参数trigger
,您可以传递有关事件的一些数据,即您希望从事件处理函数访问的任何数据。
然后,通常在其他地方,会有代码等待该事件发生。这是通过调用.on
or.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' });