UI路由器覆盖来自子级的父视图

时间:2015-02-16 04:14:39

标签: angularjs angular-ui-router

以下是演示离子应用程序中我的$ stateProvider的片段。

.state('test', {
  template: "test <div ui-view='content'></div>"
})
.state('test.main', {
  url: '/test',
  views: {
    'content': {
      template: "test content2 <div ui-view='content'></div>",
      controller: function() {
        console.log('test content');
      }
    }
  }
})
.state('test.main.now', {
  url: '/now',
  views: {
    'content': {
      template: 'test content now',
      controller: function() {
        console.log('test content now');
      }
    }
  }
})

当我请求/测试/现在我看到

测试
测试内容2 现在测试内容

这是我期待看到的。当我将test.main.now的内容名称更改为内容@(这应该意味着覆盖父状态中的视图)我现在得到

测试
测试内容2

这不是我的预期。在父状态中覆盖相同命名视图的正确方法是什么?我用更多细节和更好的例子更新了这个问题。

1 个答案:

答案 0 :(得分:0)

在这种情况下,我需要针对路由测试而不是test.main,即使我假设我只需要针对一个状态链。

.state('test.main.now', {
  url: '/now',
  views: {
    'content@test': {