UI-Router嵌套 - 多个视图,保持视图并同时更改另一个视图

时间:2015-08-22 16:02:07

标签: angularjs angular-ui-router angularjs-routing

考虑下面的布局: enter image description here

我有两个观看次数,查看A并查看B。我试图加载A view中的用户菜单和B view中的菜单内容。

我试过这个: 首先我在A view加载了我的菜单,然后当我尝试查看菜单时,ui-routerA view清空并加载B view

A view状态正在发生变化时如何保持B view状态?

也许我这样做的方式是完全错误的。

更新1: 这是我的路线配置:

$stateProvider
    .state("login", {
        url: "/login",
        views: {
            "login": {
                templateUrl: "./static/views/login.html",
                controller: loginController
            }
        }
    })
    .state("dashboard", {
        url: "/dashboard",
        views: {
            "view-a": {
                templateUrl: "./static/views/dashboard.html"
            }
        }

    })
    .state("test", {
        url: "/test",
        views: {
            "view-b": {
                templateUrl: "./static/views/test.html"
            }
        }
    });

1 个答案:

答案 0 :(得分:1)

您似乎希望B成为A的嵌套视图。有几种不同的方法可以实现这一点,这里是文档https://github.com/angular-ui/ui-router/wiki/Nested-States-and-Nested-Views

这种方法将提供在/ dashboard / test

查看B的可能途径
.teaser-form

在dashboard.html中,您可以通过$stateProvider .state("login", { url: "/login", views: { "login": { templateUrl: "./static/views/login.html", controller: loginController } } }) .state("dashboard", { url: "/dashboard", views: { "view-a": { templateUrl: "./static/views/dashboard.html" } } }) .state("dashboard.test", { url: "/test", views: { "view-b": { templateUrl: "./static/views/test.html" } } });

来引用view-b