我正在使用状态来更改表中的数据。
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 加载的模板包含一个显示数据的表格。
当没有
zoneCode
存在于 URL 中,该表不存在,因为 ui-view
不知道加载 templateUrl
.如何为父状态设置默认值?
谢谢。
最佳答案
虽然这个问题很老了,但我仍然想提供一个答案,因为我遇到了同样的问题。答案可以在in this Stackoverflow question找到.将该答案应用于您的案例:
$urlRouterProvider.when('/zone','/zone/'+zoneCode);
urlRouterProvider 检查 url 是否为 [yoururl]/zone。如果是这种情况,它将重定向到 [yoururl]/zone/zoneCode,其中 zoneCode 为您指定的那个。
希望它可以帮助某人!
关于angularjs - 如何使用 Angular ui-router 设置默认状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20482051/