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

标签 angularjs angular-ui-router angularjs-routing

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

我有两个 View , View A 和 View B。我正在尝试在 A View 中加载用户菜单,并在 B View 中加载菜单内容。

我尝试过这个: 首先,我在 A view 中加载菜单,然后当我尝试查看菜单时,ui-router 将使 A view 为空并加载B View .

如何在 B View 状态发生变化时保持 A 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"
            }
        }
    });

最佳答案

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

此方法将提供在/dashboard/test 查看 B 的可能路径

$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"
        }
    }
});

在dashboard.html中,您可以通过<div ui-view="view-b"></div>来引用view-b

关于angularjs - UI-Router 嵌套 - 多个 View ,保持一个 View 并同时更改另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32158072/

相关文章:

javascript - 为什么ng-class在 Angular Directive(指令)中被多次调用?

angularjs - Angular View 在 http 拦截器之后不会更新

angularjs - 找不到@uirouter/angularjs 的内联index.d.ts

javascript - $routeProvider 和 $stateProvider 有什么区别?

javascript - angularjs $routeProvider 路由在解析完成之前执行

javascript - 用于构建动态报告的 jQuery 或 angularjs 插件

javascript - 访问已编译指令的隔离范围

angularjs - 是否可以替换/覆盖 ui-router 状态定义? (默认状态是另一个模块的 "customized")

AngularJS AppCtrl 等待 HTTP 事件成功

javascript - 通过 $http 进行 Angular json 编码