gpt4 book ai didi

javascript - 如何从 sap.m.NavContainer 获取数据

转载 作者:行者123 更新时间:2023-12-03 05:18:21 26 4
gpt4 key购买 nike

根据文档API我们可以将数据从另一个页面发送到上一个页面,如下所示

oNavContiner.back({
dataToSend: data
});

我已附上事件如下

<NavContainer id="navContainer" afterNavigate ="afterSelectedReferenceLayers">

在 XML View 和 Controller 中添加以下方法,但数据未到来:

afterSelectedReferenceLayers : function(oControlEvent) {
if (oControlEvent.getParameter('direction') === 'back') {
console.log(oControlEvent.data);
}
}

请帮助我如何获取这些数据

最佳答案

根据 API,afterNavigate不包含从 Nav.to 和 Nav.back 发送的数据。但它是包含数据的 View 的 onBeforeShow 方法。

因此,在 onBeforeShow 方法中,有 2 个参数,其中包含通过 .to 和 .back 发送的数据:

  1. data:目标页面上的“beforeShow”事件将包含通过 .to() 方法发送的数据对象作为“data”属性。

  2. backData:目标页面上的“beforeShow”事件将包含通过 .back() 方法发送的数据对象作为“backData”属性。

所以,我将修改您的代码如下:

步骤:将 onBeforeShow 添加到页面(我需要后台处理的地方)

    //this.byId('p1') here refers to my page where I want onBeforeShow associated.
this.byId('p1').addEventDelegate({
'onBeforeShow':function(evt) {

if (evt.direction == 'to') {
var oData = evt.data;
console.log(oData);
} else if (evt.direction === 'back') {
var oData = evt.backData;
console.log(oData);
}
}
});

如果您需要更多信息,请告诉我。

关于javascript - 如何从 sap.m.NavContainer 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41509585/

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