angularjs - 如何使用 Angular ui-router 设置默认状态

标签 angularjs angular-ui

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

相关文章:

javascript - 对 promise 的第二次调用在 promise 返回之前执行 - Angular Javascript

javascript - AngularJS 绑定(bind)数据

jquery - Kendo UI 组合框虚拟化问题与少量本地数据

angularjs - 如何从指令中调用 Controller 函数?

javascript - AngularJS 在指令运行之前通过 AJAX 检索数据

twitter-bootstrap - 不要关闭侧面点击的角度用户界面 Bootstrap 对话框

javascript - 删除了以下划线开头的 Firebase 数据库键

html - HTML 属性中的 AngularJS 条件

javascript - 未捕获的对象错误 : can't inject ngAnimate

javascript - Angular ng-repeat 错误