UI-路由器多个命名视图不工作

UI-Router multiple named views not working

我尝试使用 UI-Router 的多重命名视图,但它不起作用。

请参阅以下示例以了解我的问题:

start.html

<body ng-app="startApp">
    <div ui-view="navigation"></div>
    <div ui-view="content"></div>
</body>

nav.html

<nav>
    <ul>
        <li>btn1</li>
        <li>btn2</li>
    </ul>
</nav>

content.html

<h1>My content</h1>

app.js

angular.module('startApp', ['ngAnimate', 'ui.router', 'ngFileUpload', 'ngImgCrop'])

.config(function ($stateProvider, $urlRouterProvider) {

    $stateProvider
        .state('start', {
        url: '/start',
        templateUrl: 'pages/start/start.html',
        controller: 'mainController'
    })

        .state('start.Why', {
        url: '/Why',
        views: {
            'navigation@start': {
                templateUrl: 'pages/start/nav.html'
            },
            'content@start': {
                templateUrl: 'pages/start/content.html'
            }
        }
    })
})

问题 没有显示。 ui-view 中没有注入任何东西.. 但是如果我的 ui-view 没有名字并且我的 id view 是 '' 而不是 'navigation@start' 它的工作: navigation.html 是显示..

我尝试使用 '@start' 和不使用。我无法解释问题出在哪里。我的js控制台很清楚。

你能帮帮我吗?

as link 我为 you.try 添加这个

  $stateProvider
    .state('start', {
    url: '/start',
    templateUrl: 'pages/start/start.html',
    controller: 'mainController'
})

    .state('start.Why', {
    url: '/Why',
    views: {
        'navigation@start.Why': {
            templateUrl: 'pages/start/nav.html'
        },
        'content@start.Why': {
            templateUrl: 'pages/start/content.html'
        }
    }
})

a working plunker

这里我们需要的是创建'start'状态的unnamedview占位符ui-view="",里面的index.html:

<body ng-app="startApp">

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

开始的视图现在将不包含 ng-app

<!--<body ng-app="startApp">-->
<div>
  <h1>This is a start state view</h1>

  <div>place for child state views</div>
  <hr />
    <div ui-view="navigation"></div>
    <div ui-view="content"></div>
<!--</body>-->
</div>

就是这样..没有其他变化。没有root(start)有target,child(why)会被正确注入

观察action here

中的当前解法

同时检查:

Angular UI Router - Nested States with multiple layouts