Javascript SAPUI5事件总线:防止堆叠相同的子分区

Javascript SAPUI5事件总线:防止堆叠相同的子分区,javascript,event-bus,sapui5,Javascript,Event Bus,Sapui5,当我点击一个按钮时,我想订阅一个活动 EventBus.subscribe("sChannelFoo", "sIdBar", function(){ alert("FOOBAR!"); }); 我在整个代码中都订阅了“sChannelFoo”和“sIdBar”。有什么好的解决方案可以确保我用这个按钮只订阅一次活动,即使我多次单击我的按钮 如果我有1000个其他按钮,我希望它们也能够订阅“sChannelFoo”和“sIdBar”一次。其他1000个按钮可能具有相同的功能,也可能具有不同的功能。

当我点击一个按钮时,我想订阅一个活动

EventBus.subscribe("sChannelFoo", "sIdBar", function(){
alert("FOOBAR!");
});
我在整个代码中都订阅了“sChannelFoo”和“sIdBar”。有什么好的解决方案可以确保我用这个按钮只订阅一次活动,即使我多次单击我的按钮


如果我有1000个其他按钮,我希望它们也能够订阅“sChannelFoo”和“sIdBar”一次。其他1000个按钮可能具有相同的功能,也可能具有不同的功能。

您可以在按钮控件上使用方法
AttachEventance

使用注册的处理程序函数,您可以调用对事件总线的订阅:

oButton.attachEventOnce('press', function() {
    EventBus.subscribe("sChannelFoo", "sIdBar", function() {
        alert(FOOBAR!");
     });
}

附件是您需要的: