javascript - Angularjs UI-Router : How to create view inside nested view?(3层嵌套 View )

标签 javascript angularjs angular-ui-router state

我正在尝试使用UI-Router在嵌套 View 内创建 View

代码

.state('discussions', {
            url: '/discussions',
            views: {
                '': {
                    templateUrl: 'views/groups/groupBaseView.html'
                },
                'leftcontainer@discussions': {
                    templateUrl: 'views/groups/groupView.html',
                    controller: 'groupController',
                    views: {
                        'rightcontainer@leftcontainer@discussions': {
                            template: 'hi'
                        }
                    }
                }
            }

    });

您可以像这样可视化 View

--groupBase
--groupBase/groupView
--groupBase/groupView/discussionView

UI 工作正常,直到 --groupBase/groupViewdisucussionView 没有加载到 groupView

最佳答案

a worknig plunker

可以在一种状态内嵌套 View 状态 View :{}设置必须包含所有这些 View :

.state('discussions', {
  url: '/discussions',
  views: {
    '': {
      templateUrl: 'views/groups/groupBaseView.html'
    },
    'leftcontainer@discussions': {
      templateUrl: 'views/groups/groupView.html',
      controller: 'groupController',
    },
    'rightcontainer@discussions': {
      template: '<h3>hi from right container</h3>'
    },
  }

});

有了这个,我们就可以实现 View 嵌套

  • 第一个 View ('views/groups/groupBaseView.html')被注入(inject)到index.html内的未命名ui View
  • 第二个 View ('views/groups/groupView.html')被注入(inject)到'views/groups/groupBaseView.html'
  • 第三个位于'views/groups/groupView.html'

因此,'views/groups/groupView.html' 将如下所示:

<div>   
   ...
   <div ui-view="leftcontainer"></div>   
</div>

'views/groups/groupView.html'将是:

<div>   
   ...
   <div ui-view="rightcontainer"></div>   
</div>

检查一下here

关于javascript - Angularjs UI-Router : How to create view inside nested view?(3层嵌套 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37672624/

相关文章:

angularjs - UI-Router 多 View 单个 Controller 不起作用

javascript - 调整窗口大小时刷新浏览器(仅在扩展或变大时)

javascript - 有没有办法(使用 Lodash 或 Underscore)来查看字符串数组中的字符串是否包含另一个数组中的子字符串?

angularjs - Angular ui-router ui-sref-opts 更新地址栏

javascript - Angular + ngClass 未应用于 ngView 之外

AngularJS - UI 路由器 - 如何配置动态 View

javascript - Angular UI 路由器 - "could not resolve state"带参数

javascript - 使用 jquery 进行动态选择

javascript - Apps 脚本 - 丢失;声明之前

javascript - Angular 2 独立组件