作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我点击一个按钮时,我想订阅一个事件
EventBus.subscribe("sChannelFoo", "sIdBar", function(){
alert("FOOBAR!");
});
我在整个代码中都订阅了“sChannelFoo”和 sIdBar”。有什么巧妙的解决方案可以确保我只用这个按钮订阅一次这个事件,即使我点击了我的按钮几次?
如果我有 1000 个其他按钮,我希望它们也能够恰好订阅一次“sChannelFoo”和“sIdBar”。其他 1000 个按钮可能具有相同或不同的功能。
最佳答案
您可以在 Button 控件上使用 attachEventOnce
方法:https://openui5.hana.ondemand.com/docs/api/symbols/sap.ui.base.EventProvider.html#attachEventOnce
使用已注册的处理函数,您可以调用对事件总线的订阅:
oButton.attachEventOnce('press', function() {
EventBus.subscribe("sChannelFoo", "sIdBar", function() {
alert(FOOBAR!");
});
}
关于javascript - SAPUI5 事件总线 : Prevent stacking the same subsciptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28299707/
当我点击一个按钮时,我想订阅一个事件 EventBus.subscribe("sChannelFoo", "sIdBar", function(){ alert("FOOBAR!"); }); 我在整
我是一名优秀的程序员,十分优秀!