有没有一种方法可以监听 namespace 的所有事件。因此,当我听这样的事件时:

app.vent.on('notification(:id)', function(type){console.lof(type)})

它将听所有这样的事件:
app.vent.trigger('notification:info')
app.vent.trigger('notification:error')
app.vent.trigger('notification:success')

最佳答案

不会。主干通常会触发一般的eventName事件以及eventName:specifier事件。一个示例就是Model.change,它允许您监听所有更改以及各个字段的更改:

model.on('change', this.onAnyPropertyChanged);
model.on('change:name', this.onNamePropertyChanged);

按照代码中的这种模式,您可以触发事件,如下所示:
app.vent.trigger('notification', 'info');
app.vent.trigger('notification:info');

并聆听一般事件:
app.vent.on('notification', function(type){
  console.log(type);  //-> "info"
});

关于javascript - 带通配符的 Backbone 事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15295768/

10-12 07:28