我有两个 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/