假设我们有一条路线和一个目标:
"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/