gpt4 book ai didi

javascript - 用户界面5 : accessing DOM ref of a view after rendering during each navigation

转载 作者:行者123 更新时间:2023-12-03 03:40:56 24 4
gpt4 key购买 nike

我有两个 UI5 XML View ,并且已在两个 View 之间实现了导航。每当我访问第二个 View 时,我都会操纵 HTML DOM(使用 jQuery 和 CSS)来执行一些外观相关的更改,默认情况下,这些更改在 UI5 中不容易实现。

我的问题是:当我编写 jQuery 代码来在第二个 View 的 (route)patternMatched 处理程序中操作 DOM 时,它不起作用,因为 DOM 不存在观点。当我将 jQuery 代码放入第二个 View 的 onAfterRendering() 中时,它仅在第一次访问期间执行,因此在第二次访问期间不会给出所需的结果开始访问。

你能告诉我如何解决这个问题或者我应该在这里进行哪些设计更改吗?

此外,UI5 中是否有任何设置,每次导航到 View 时都会调用 onAfterRendering()

最佳答案

您可以使用onBeforeShow方法来执行您需要的操作。

每次 View 即将显示到屏幕上时都会调用onBeforeShow

但首先您必须将事件附加到 onInit 中的 View 。代码:

onInit : function () {
this.getView().addEventDelegate({
onBeforeShow : jQuery.proxy(function(evt) {
this.onBeforeShow(evt);
}, this)
});
},

onBeforeShow: function() {

console.log('called from on Before show');
// DO manipulation here
}

如果您在此事件处理程序中仍然找不到 DOM 元素,请记住 onBeforeShow 有一个姐妹:onAfterShow,它将在 View 显示后调用屏幕。

API链接:NavContainerChild

关于javascript - 用户界面5 : accessing DOM ref of a view after rendering during each navigation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45628701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com