angularjs - 使用ui-router将父状态默认为子状态

标签 angularjs angular-ui-router

我有这个状态结构:

.state('places',
{
    url:'/places',
    controller:'PlacesController',
    templateUrl:'views/places.html'
})
.state('places.city',
{
    url:'/:city',
    templateUrl:function(stateParams)
    {
        return 'views/places/'+stateParams.city+'.html';
    }
});

效果很好,除非URL只是/places,后面没有城市。
在子状态下,如何为templateUrl设置默认值?

我在想最好的方法是从PlacesController设置ui View ,但这似乎是不可能的。

最佳答案

尝试定义另一个子状态,并将URL设置为空字符串:

.state('places.default', {
    url: '',
    templateUrl: '...'
}

然后将abstract: true添加到父状态。

关于angularjs - 使用ui-router将父状态默认为子状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20598000/

相关文章:

angularjs - 不同状态不显示模板内容

javascript - 创建切换按钮行为以隐藏或显示 div

angularjs - 将 Angular CLI 与 Squarespace 集成

angularjs - 为什么 $state.transitionTo 或 $state.go 不显示新的 HTML 部分?

javascript - 如何防止 $state 刷新任何不依赖于正在更改的 $state.var 的组件?

AngularJS ui-router View 没有显示?

angularjs 弹出窗口不适用于路由模板和 Controller

angularjs - Angular2 中加载 AppComponent 之前的用户身份验证

javascript - ng-switch 对动态值变化没有反应

javascript - ui-router onEnter 钩子(Hook)多次触发