假设我们有一条路线和一个目标:

"routes": [{
  "pattern": "modify",
  "name": "modify",
  "target": [
    "master",
    "modify"
  ]
}],
"targets": {
  "modify": {
    "viewName": "Modify",
    "viewId": "modify",
    "viewLevel": 2
  }
}


因此,我可以通过this.getRouter().navTo("modify")访问路由,同时我可以通过this.getRouter().getTargets().display("modify")访问目标。两个API都可以通过第二个参数携带参数。似乎达到了相同的效果。

我可以访问目标而无需为其定义路由。所以我不太明白为什么我需要一条路线?

参考:sap.m.routing.Targets
sap.ui.core.routing.Router

最佳答案

display相比,navTo在不更改哈希值的情况下显示目标视图。

您可以在教程“ Display a Target Without Changing the Hash”中找到更多信息。




两个API都可以通过第二个参数携带参数。似乎达到了相同的效果。



display方法中的数据用于事件处理程序。当事件为fired时,处理程序将携带我们之前传递的数据。
如果模式实际上正在等待参数,例如我们可以传递给display的参数映射是必需的。如果我们最初定义的模式如下:navTo。检出“ Navigate to Routes with Mandatory Parameters”。

关于sapui5 - sap.ui.core.routing.Router.navTo()和sap.m.routing.Targets.display()有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46336762/

10-10 13:17