javascript - UI Router 中的双重嵌套 View

标签 javascript angularjs angular-ui angular-ui-router

使用 angular-ui,特别是使用 ui-router 模块来执行一些嵌套 View 。我在部分内容中渲染部分内容时遇到问题:

嵌套如下:

index.html
    -main.form.html
    -main.sidebar.html
        -sidebar.slider.html

我当前的 app.js 设置是:

$stateProvider
        .state('main', {
            url: '/',
            views: {
                'sidebar': {
                    templateUrl: 'views/partials/main.sidebar.html',
                    views: {
                        'slider': {
                            templateUrl: 'views/partials/sidebar.slider.html'
                        }

                    }

                },
                'form': {
                    templateUrl: 'views/partials/main.form.html',

                },
                'tribute': {
                    templateUrl: 'views/partials/main.tribute.html',
                },
                'submit': {
                    templateUrl: 'views/partials/submit.html',
                }
            }
        })

所有其他部分加载,我可以看到 ui-view 指令在浏览器中加载,但实际部分未渲染(div 仅包含 ui-view="sidebar.slider" 文字)

有什么想法吗?

最佳答案

一个状态内部的 View 嵌套是通过它们的 relative/absolute 完成的 View 名称​​(不通过对象嵌套)

假设 templateUrl 包含 ui-view="slider",那么我们必须绝对定位该 View 名称

$stateProvider
   .state('main', {
     url: '/',
     views: {
      'sidebar': {
         templateUrl: 'views/partials/main.sidebar.html',
       },
      // this view definition is on the same level
      // but the absolute name says, that it should be searched
      // inside of the 'main' state
      'slider@main': {
         templateUrl: 'views/partials/sidebar.slider.html'
      },
      ...

这里的关键是 View 'slider@main'的名称,它包含 View 名称'slider'分隔符'@'和状态名称'main'。检查以下内容以了解更多详细信息:

关于javascript - UI Router 中的双重嵌套 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24638677/

相关文章:

javascript - 多次调用多次链接 Promise.all() 的最佳方法

javascript - 从 'now' 日期时间日期选择器条目减去 7 小时

javascript - Angular 和 Rails 工作流程

javascript - 在 UI-Router 中以抽象状态填充公共(public) View

javascript - 在 youtube api 中检测播放事件

javascript - 无法让简单的 SoundCloud javascript api 方法正常工作

javascript - 需要在状态退出时关闭模态

javascript - Angularjs 和 typeahead,如何摆脱 [object Object]

javascript - AngularUI map 绑定(bind)事件

javascript - HTML5 模式下的 Angular-ui 嵌套 View 获取 404 未找到模板文件