我对Web IDE中的路由有疑问。 我可以导航到第一个没有问题的视图,但如果我尝试导航到第二个视图,没有任何反应,也没有出现错误消息。
我已经重新创建了网络中的许多示例,但效果很好。但是所有已创建的示例都基于到一个视图的单个路由。
我做了以下事情:
路由到view2工作,路由到view3不起作用。 我已将我的项目上传到github。希望你能帮忙。
答案 0 :(得分:2)
由于路由的工作方式(以及XML_view View2按钮中的拼写错误)导致的一些变化。
那么,路由如何运作:
现在,正如您所知,当我们在模式中指定Curly_Braces,即{}时,它表示一个值。为了更好地理解,请考虑以下路线:
{
"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目标。
所以,您需要创建唯一哈希网址以加载不同的观看次数。
让我将您的路线更改为:
{
"name": "View2",
"pattern": "View2/{V2}",
"target": ["View2"]
}, {
"name": "View3",
"pattern": "View3/{V3}",
"target": ["View3"]
}
按下view2中的按钮将加载view3。
另外,view2中的拼写错误:onPressButton->更改为:onButtonPress(因为这是view2控制器中函数的名称)。
如果这有帮助,请告诉我。 :)