我正在使用状态来更改表中的数据。
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/

10-12 15:28