UI-Router中嵌套状态的问题

时间:2015-02-20 23:38:31

标签: angularjs ionic-framework angular-ui-router

我在UI-Router中遇到嵌套状态问题。我有两个状态,按下按钮它应该转换到另一个状态,并且网址会更改,但模板不会。这是我的状态逻辑代码:

$stateProvider.state('accounts', {
url: '/accounts',
views: {
  'menu': {
    templateUrl: 'templates/menu.html',
    controller: 'MenuController'
  },
  'main': {
    templateUrl: 'templates/accounts.html',
    controller: 'AccountsController'
  }
}
});
$stateProvider.state('accounts.detail', {
url: '/:accountID',
views: {
  'main': {
    templateUrl: 'templates/accounts.detail.html',
    controller: 'AccountsDetailController'
  }
}
});

我的按钮逻辑:$state.go('accounts.detail', { accountID : account.accountID});

我的两个观点都包含在ui-view标签中。所有其他根状态都正常工作(/ home,/ orders)但是/ accounts /:accountID不会触发模板加载和转换。任何见解将不胜感激。

2 个答案:

答案 0 :(得分:1)

<ion-view />不等同于<ui-view />,在Ionic Framework中,它只是插入页眉/页脚栏和内容的容器。

使用<ion-nav-view /> http://ionicframework.com/docs/api/directive/ionNavView/ 并在父视图中按名称引用此嵌套视图:<ion-nav-view name="main" />

答案 1 :(得分:0)

我的问题是我没有正确提及我的观点。由于它们是如何嵌套的,我需要使用绝对名称来显示视图。链接的UI路由器文档描述了我的问题。

https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views#view-names---relative-vs-absolute-names