attachPatternMatched不触发第一次

2020-08-15 17:04发布

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

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


你好

我们正在使用对象页面,并且为块定义了单独的控制器。 对象控制器确实触发使用attachPatternMatched附加的方法,但块控制器不会首次触发。 但是从下一个对象导航开始,它就会开始工作。

我使用的是1.60 UI5版本,今天已升级到1.71.11,并且当用户首次点击客户导航时,应用停止运行。

在1.60下运行正常。...

有什么想法吗?

对象控制器

this.getRouter()。getRoute(" object")。attachPatternMatched(this._onObjectMatched,this); -很好...

块控制器

this.getRouter()。getRoute(" object")。attachPatternMatched(this._onBlockGeneralC,this); -这个从下一次开始触发。 但是第一次加载不会触发

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

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


你好

我们正在使用对象页面,并且为块定义了单独的控制器。 对象控制器确实触发使用attachPatternMatched附加的方法,但块控制器不会首次触发。 但是从下一个对象导航开始,它就会开始工作。

我使用的是1.60 UI5版本,今天已升级到1.71.11,并且当用户首次点击客户导航时,应用停止运行。

在1.60下运行正常。...

有什么想法吗?

对象控制器

this.getRouter()。getRoute(" object")。attachPatternMatched(this._onObjectMatched,this); -很好...

块控制器

this.getRouter()。getRoute(" object")。attachPatternMatched(this._onBlockGeneralC,this); -这个从下一次开始触发。 但是第一次加载不会触发

付费偷看设置
发送
7条回答
当学会了学习
1楼-- · 2020-08-15 17:10

Hari Hari,
可以检查以下内容:

1。 在块控制器中执行连接时设置一个断点

2。 在对象控制器的_onObjectMatched中设置断点

我想导航是在附加操作之前触发的。

zZ12138
2楼-- · 2020-08-15 17:09

嘿弗洛里安...

我已经做到了。。。这没有触发。。。我再次用1.60创建了另一个项目并复制了所有项目,并且它确实可以正常工作。

看起来像1.71问题可能是...

bbpeas
3楼-- · 2020-08-15 17:24

您好,Hari,您所说的"它不会触发"是什么意思。 在步骤1(附加在块控制器中)之前是否调用了步骤2(_onObjectMatched)?

如果您可以共享一个可重现此问题的代码段,那就太好了。

歪着头看世界
4楼-- · 2020-08-15 17:09

当然,弗洛里安...这里是代码段。

块控制器的onInit方法

 onInit:function(){
 console.log(" BlockGeneral ==> onInit");
 this.getRouter()。getRoute(" object")。attachPatternMatched(this._onBlockGeneralC,this);
 调试器;
 }
 _onBlockGeneralC:function(oEvent){
 console.log(" BlockGeneral ==> _onBlockGeneralC");
 调试器;
 } 

在这里。...调试器首次停止@init方法,但跳过_onBlockGeneralC执行。

从第二次开始调用_onBlockGeneralC。

再次有趣的是,我在1.60版本中使用了相同的代码,并且有效....

请看看我是否想念任何东西。 如果您需要任何其他代码段,请回复。 谢谢

shere_lin
5楼-- · 2020-08-15 17:20

感谢您的澄清。 是的,这两个版本之间的执行顺序似乎有所变化。 块控制器的onInit发生在第一次导航之后。

另一个开发人员遇到了类似的问题,并解决了这个问题: /img/questions/71589/object-page-layout-routing-from-block-ui5.html

我建议打开支持通知单,询问为什么对象页面更改了执行顺序。

独立观察员
6楼-- · 2020-08-15 17:29

是的...我在那里可能需要帮助...如何访问 块控制器inInit中的对象参数? 6个月前,我才刚开始使用UI5。

在基本控制器中定义一个方法并将其转储到Globals中并读入inInit是一个好主意。 有更好的主意吗?

我昨天提出了支持票。...

customer = oEvent.getParameter(" arguments")。Customer

一周热门 更多>