通过在manifest.json中定义路由/路由并使用Router.navTo()来更改目标应用程序控件的哈希值和内容,我注意到“旧” View 和 Controller 仍然卡在周围并监听事件(例如,对舞台上不再可见的控件执行绑定(bind)更新)。
我(错误地)假设路由器会为我清理这些 View /控件 - 建议这样做的方法是什么?
最佳答案
你是对的。在调用 oRouter.navTo(...) 之前,您可以调用 unbind。举个例子,您可以检查 here 。您可以在 onNavBack 处理程序中找到以下代码行:
this.getView().unbindElement();
之所以调用unbindElement(),是因为之前在同一 Controller 中调用了bindElement(...)。因此,请确保在 oRouter.navTo() 之前使用绑定(bind)/取消绑定(bind)组合...
关于sapui5 - 如何使用 sap.m.routing.Router 清理 "old" View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33763437/