AngularJS移动ui-view会中断渲染

AngularJS moving ui-view breaks rendering

本文关键字:中断 移动 ui-view AngularJS      更新时间:2023-09-26

我正在使用jhipster框架开发一个angularJS站点。该框架提供了AngularJS + Bootstrap + Spring Boot的组合。我一直在尝试用角材料代替bootstrap,但我这样做有麻烦。

原index.html设置:

<div ui-view="navbar" ng-cloak=""></div>
<div class="container">
    <div class="well" ui-view="content"></div>
</div>

导航栏和内容ui-view都映射到视图:

$urlRouterProvider.otherwise('/');
$stateProvider.state('site', {
            'abstract': true,
            views: {
                'navbar@': {
                    templateUrl: 'scripts/components/navbar/navbar.html',
                    controller: 'NavbarController'
                }
            },
            resolve: {
                authorize: ['Auth',
                    function (Auth) {
                        return Auth.authorize();
                    }
                ],
                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
                    $translatePartialLoader.addPart('global');
                }]
            }
        });

$stateProvider
            .state('home', {
                parent: 'site',
                url: '/',
                data: {
                    authorities: []
                },
                views: {
                    'content@': {
                        templateUrl: 'scripts/app/main/main.html',
                        controller: 'MainController'
                    }
                },
                resolve: {
                    mainTranslatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate,$translatePartialLoader) {
                        $translatePartialLoader.addPart('main');
                        return $translate.refresh();
                    }]
                }
            });

我想在我的导航栏视图中呈现我的内容,因为这就是角材料侧导航组件的工作方式:http://codepen.io/marcysutton/pen/OPbpKm,这就是我的麻烦开始的地方。

如果我将内容ui-view移动到导航栏的正确位置renderder

新navbar.html:

...
</md-sidenav>
<div layout="column" flex id="content">
    <md-content layout="column" flex class="md-padding">
        <div class="well" ui-view="content"></div>
    </md-content>
</div>
...

我需要在我的angular代码中改变一些东西来支持这个行为吗?提前感谢!注意:原来的index.html可以工作,移动后会失败。

我通过以下操作修复了它:

 views: {
     'content@site': {
     ...