SAPUI5-路由不´;我不为第二海军工作
关于Web IDE中的路由,我有一个问题。 我可以毫无问题地导航到第一个视图,但如果我尝试导航到第二个视图,则不会发生任何事情,也不会显示错误消息 我已经重新创建了许多在web上找到的示例,它们运行良好。但所有已建立的示例都基于一个视图的单一路由 我做了以下工作:SAPUI5-路由不´;我不为第二海军工作,sapui5,Sapui5,关于Web IDE中的路由,我有一个问题。 我可以毫无问题地导航到第一个视图,但如果我尝试导航到第二个视图,则不会发生任何事情,也不会显示错误消息 我已经重新创建了许多在web上找到的示例,它们运行良好。但所有已建立的示例都基于一个视图的单一路由 我做了以下工作: 创建了4个视图(应用程序、视图1、视图2、视图3) 应用程序是根视图 view1是默认视图 在view1中创建了一个按钮和函数,用于导航到view2 在view2中创建了一个按钮和函数以导航到view3 增强的manifest.j
- 应用程序是根视图
- view1是默认视图
- 在view1中创建了一个按钮和函数,用于导航到view2
- 在view2中创建了一个按钮和函数以导航到view3
由于路由的工作方式(以及XML_view View2按钮中的输入错误),有两个更改 那么,路由是如何工作的:
{
"name": "Emp",
"pattern": "Emp/{EmpID}",
"target": ["View2"]
},
现在,如果我将URL更改为hash:#/Emp/1,它将加载view2
另外,散列URL::#/Emp/100,它将加载??视图2。正确的!因为它与模式匹配,即Emp后跟一个值(EmpID)
现在,考虑一下你的路线:
{
"name": "View2",
"pattern": "{V2}",
"target": ["View2"]
}, {
"name": "View3",
"pattern": "{V3}",
"target": ["View3"]
}
这两条路线的模式与这两条路线相同,只是有一个值,并且没有区别因素。请记住,路由器将始终加载第一个匹配的模式目标
因此,当URL为:#/5时,它将加载view2(首先与模式匹配)。如果将名称:view3置于名称:view2之上,它将首先加载view3目标
所以,重点是您需要创建唯一的散列URL来加载不同的视图
让我将您的路线更改为:
{
"name": "View2",
"pattern": "View2/{V2}",
"target": ["View2"]
}, {
"name": "View3",
"pattern": "View3/{V3}",
"target": ["View3"]
}
按下view2中的按钮,它将加载view3
此外,view2中的输入错误:On PressButton->更改为:On Button Press(这是view2控制器中函数的名称)
如果有帮助,请告诉我。:)