sap.ui.core.routing.Router中的routeMatched和routePatternMatched事件之间的区别

2020-09-27 11:41发布

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

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


大家好,

我没有弄清楚routeMatched和routePatternMatched之间的区别

当我检查这两个事件是在路由器的init方法中触发的时候。

何时必须使用attachrouteMatched()?

以及何时必须使用attachroutePatternMatched()吗?

两者几乎都给出相同的输出。

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

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


大家好,

我没有弄清楚routeMatched和routePatternMatched之间的区别

当我检查这两个事件是在路由器的init方法中触发的时候。

何时必须使用attachrouteMatched()?

以及何时必须使用attachroutePatternMatched()吗?

两者几乎都给出相同的输出。

付费偷看设置
发送
2条回答
Tong__Ming
1楼-- · 2020-09-27 12:19

两者之间的区别在于它们被解雇的时间。

在以下三种情况下会触发

attachrouteMached:

 该路由器中路由的模式。
  b。 子路径的模式。
  C。 嵌套路由的模式。发生这种情况时,将使用嵌套路由的实例设置" nestedRoute"参数。
仅当当前URL哈希与路由器的模式匹配时,才会触发

attachroutePatternMatched()。

渐行渐远_HoldOn
2楼-- · 2020-09-27 12:43

让我们举个例子,

假设路由如下:

"路线":[{
     " pattern":"详细信息/{路径}",
     " name":" detailPage",
     " target":" detailPage"
 }],
 "目标":{
     " detailPage":{
         " viewName":" DetailPage",
         " viewId":" detailPage",
         " viewLevel":2
     }
 } 

attachPatternMatched函数将针对目标说" detailPage"所确定的特定模式而调用,请参见以下示例

 this.getRouter()。getRoute(" detailPage")。attachPatternMatched(  this._onObjectMatched,this);
 _onObjectMatched:function(oEvent){
 //绑定视图代码和所有
 },

仅在属于目标" detailPage"的模式时才会调用_onObjectMatched。

其中:

 this._oRouter.attachRoutePatternMatched(  this._onRoutePattern已匹配,this);
 _onRoutePatternMatched:function(oEvent){
     如果(oEvent.getParameter(" name")!==" detailPage"){
         返回;
     }
  //绑定视图逻辑和所有
 } 

,在上面的示例中,每当应用导航到详细信息页面时,都会调用attachRoutePatternMatched,但是您需要检查特定模式是否与名称" detailPage"匹配。

我可能不是完美的,但希望能有所帮助:)

谢谢

Akhilesh

一周热门 更多>