我正在使用状态来更改表中的数据。
URL的格式为/zone/:zoneCode
。
但是,当仅访问/zone
时,我希望它默认为某个zoneCode
。
这是我的代码:
.state('zone',
{
url:'/zone',
controller:'ZoneController',
templateUrl:'views/zone.html'
})
.state('zone.code',
{
url:'/:zoneCode',
templateUrl:function(stateParams)
{
return 'views/zone-codes/'+stateParams.zoneCode+'.html';
}
}
为每个 subview 加载的模板包含一个显示数据的表。
如果URL中没有
zoneCode
,则表不存在,因为ui-view
不知道要加载templateUrl
。如何设置父状态的默认值?
谢谢。
最佳答案
尽管这个问题已经很老了,但我仍然想提供一个答案,因为我遇到了同样的问题。答案可以找到in this Stackoverflow question。将该答案应用于您的案例:
$urlRouterProvider.when('/zone','/zone/'+zoneCode);
urlRouterProvider检查URL是否为[yoururl] /区域。如果是这种情况,它将重定向到[yoururl] / zone / zoneCode,并将zoneCode作为您指定的那个。
希望它能帮助到某人!
关于angularjs - 如何使用Angular UI路由器设置默认状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20482051/