繁体   English   中英

Angular UI-Router嵌套视图

[英]Angular UI-Router nested views

我试图让嵌套的意见,在登录其发送给你工作后in.html从那里所有链接链接到一个ui-viewin.html 目前,所有链接都转到“新”页面

index.html

<!-- more HTML -->
<body ng-controller="MainController as main">
<!--<div id="loading"><span>Loading</span></div>-->

<div ui-view="default"></div>
</body>
<!-- more HTML -->

in.html

<a ui-sref="online">Online Users</a>
<div ui-view="main"></div>

app.js路线

var $td = $config.TPL_DIR;

$stateProvider
    .state('auth', {
        url: '/auth',
        views: {
            "default": {
                controller: 'AuthController as auth',
                templateUrl: $td + 'login.html'
            }
        }
    })
    .state('loggedin', {
        url: '/in',
        views: {
            "default": {
                templateUrl: $td + 'in.html'
            }
        }
    })
    .state('online', {
        url: '/online',
        views: {
            "main": {
                controller: 'OnlineController as online',
                templateUrl: $td + 'online.html'
            }
        }
    });

尝试制作一些子视图,然后从那里更改ui视图。 就像是

.state('loggedin.another_view', {
    url: '',
    views: {
        "main": {
            templateUrl: $td + 'partial.html'
        }
    }
})

由于loggedin是父视图,因此当路由器寻找main ,它将在loggedin上下文中查找该视图。 它将partial.html加载到您的视图中。

将状态更改为loginin.online

.state('loggedin.online', {
        url: '/online',
        views: {
            "main": {
                controller: 'OnlineController as online',
                templateUrl: $td + 'online.html'
            }
        }
    });

更改链接至

<a ui-sref=".online">Online Users</a>
<div ui-view="main"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM