如何在单个状态下使用UI路由器显示2个视图

时间:2016-08-06 10:34:03

标签: angularjs angular-ui-router

.state('app', {
 url: "/app",
 cached:false,
 abstract: true,
 templateUrl: "views/menu.html",
 controller : 'AuthController'
})

.state('app.home', {
 url: "/home",
 templateUrl: "views/home.html",
 controller : 'DashBoardController',
})

这里的事情是我通过state.go()访问app.home。我只看到menu.html,home.html没有显示,并且我的日志没有错误。如何制作menu.html和home.html节目?谢谢

1 个答案:

答案 0 :(得分:0)

You will have to use multiple named views

示例代码段:

定义路线:

.state('app', {
    url: '',
    views: {
        'menu@app': {
            templateUrl: 'views/menu.html',
            controller: 'MenuController'
        },
        '@': {
            templateUrl: 'views/main.html',
            controller: 'MainController'
        }
    },
    abstract: true
});

.state('app.home', {
    url: '/home',
    templateUrl: 'views/home.html',
    controller : 'DashBoardController'
});

main.html:

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

<div ui-view></div>