点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我在另一个应用程序中嵌入...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我在另一个应用程序中嵌入...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我在另一个应用程序中嵌入了一个重用组件。
我使用基于组件的路由。 我们的UI5版本是1.71。
在父组件中按下按钮时,它将发布一个事件,子组件将对其进行处理。
EventBus用于此目的。
浏览刷新后首次执行该应用程序时,此操作成功。
但是,当我返回启动板并再次进入应用程序时,多个子控制器会收到相同的事件。
似乎旧控制器仍然存在并对事件做出反应。
到目前为止,我所做的是:
1。 取消订阅儿童控制器的onExit钩子中的事件
2。 在孩子的Component.js中,实现了destroy函数
destroy:function(){ UIComponent.prototype.destroy.apply(this,arguments); }
作为一种解决方法,我检查了控制器是否是第一次执行。
但是我想在每次关闭应用程序时销毁子组件。
我该如何实现?
最诚挚的问候,
宇达电通
(22.6 kB)
Mio嗨,
很高兴看到您已经在应用程序中使用带前缀的" Component"类型目标! 还要感谢您确认一旦父组件被破坏,嵌套组件也将被破坏。
发生此问题是因为UI5不会取消已附加到全局EventBus对象的事件处理程序的注销。 一种快速的解决方案是在已经覆盖的嵌套组件的destroy函数中执行此操作:
这应该已经解决了您当前面临的问题。 但是我想给您一些其他想法,以避免在另一个答案中使用EventBus,因为我现在没有时间编写它,并且希望尽快为您提供当前的解决方案。
最诚挚的问候,
Jiawei
一周热门 更多>