从SAP UI5中的任何视图访问UI元素的最佳方法是什么

2020-09-16 23:51发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

是否有一种从任何视图检索UI元素的标准方法?..这是我的确切问题:

我正在从视图2导航到视图3,并希望在视图3控制器中检索用户在视图2中输入的值。

sap.ui.getCore()。byId(" __ xmlview2 --__ input2")。getValue()。

" __xmlview2"是动态的,如果从其他导航进入此处会更改该值,但我不信任它。

有什么方法可以修复viewID或如何使我的方案工作。我尝试在XML标签以及清单中的目标中为View提供ID。 它不起作用

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

是否有一种从任何视图检索UI元素的标准方法?..这是我的确切问题:

我正在从视图2导航到视图3,并希望在视图3控制器中检索用户在视图2中输入的值。

sap.ui.getCore()。byId(" __ xmlview2 --__ input2")。getValue()。

" __xmlview2"是动态的,如果从其他导航进入此处会更改该值,但我不信任它。

有什么方法可以修复viewID或如何使我的方案工作。我尝试在XML标签以及清单中的目标中为View提供ID。 它不起作用

付费偷看设置
发送
3条回答
灬番茄
1楼 · 2020-09-17 00:12.采纳回答

有一些方法可以将值从一个视图传递到另一个视图:

  • 通过URL-我认为这可能不适用于您的用例。
  • 通过Bus订阅,您可以在Google上搜索更多信息。
  • 通过定义的模型。

最后一个最适合您,而且非常易于使用。 您将必须在sap.ui.getCore()

上创建一个模型

导航将是这样的:

 sap.ui.getCore()。getModel()。setData({
 测试:oValues
 });
 this.getRouter()。navTo(" view3"); 

在另一个视图上:

 var oModel = sap.ui.getCore()。getModel();
 如果(!oModel){
 返回;
 }
 var oData = oModel.oData.Test;
 

您还可以使用全局模型,已定义的模型(例如

sap.ui.getCore()。setModel(oModel," TestModel")并为此设置数据。

希望这会有所帮助:)

致谢

哎,真难
2楼-- · 2020-09-17 00:03

您的问题是您尝试获取值的方式。

如果要使用getProperty,则可以这样:

 oAppModel = new JSONModel({
 忙:是的,
 延迟:0
 });
 oAppModel.getProperty("/img/busy");
 oAppModel.getProperty("/img/delay");
 

这应该起作用。

Alawn_Xu
3楼-- · 2020-09-17 00:17

在任何视图中的任何控件中访问值的最佳方法是将模型属性绑定到控件。

使用视图ID并不是最好的方法,以后可能会导致失败。

一周热门 更多>