子状态在 UI-Router 的嵌套路由中加载父状态 templateUrl
Child state loads parent state templateUrl in nested routes of UI-Router
我正在使用 UI-Router
模块进行路由。我有 2 个状态,路由器应该根据嵌套路由规则将 url 与它们匹配:
// Dashboard
.state('dashboard', {
url: "/dashboard",
templateUrl: "dashboard/views/index.html",
controller: "DashboardController",
...
})
// Users
.state('users', {
url: "/users",
templateUrl: "users/views/index.html",
controller: "UsersController",
...
})
// Single User
.state('users.id', {
url: "/{id:(?:[a-z0-9_-]{3,16})}",
templateUrl: "users/views/show.html",
controller: "UserController",
...
})
我也设置了默认路由:
$urlRouterProvider.otherwise("/dashboard");
问题:
当我转到 http://127.0.0.1:8000/app/#/users/testuser123
时,它显示 index.html
来自 users
状态而不是 show.html
来自 users.id
状态。有什么问题?
如果调用 http://127.0.0.1:8000/app/#/users/testuser123
,则应在 users.id
的 url 定义中添加 users
.state('users.id', {
url: "/users/{id:(?:[a-z0-9_-]{3,16})}",
templateUrl: "users/views/show.html",
controller: "UserController",
...
})
我正在使用 UI-Router
模块进行路由。我有 2 个状态,路由器应该根据嵌套路由规则将 url 与它们匹配:
// Dashboard
.state('dashboard', {
url: "/dashboard",
templateUrl: "dashboard/views/index.html",
controller: "DashboardController",
...
})
// Users
.state('users', {
url: "/users",
templateUrl: "users/views/index.html",
controller: "UsersController",
...
})
// Single User
.state('users.id', {
url: "/{id:(?:[a-z0-9_-]{3,16})}",
templateUrl: "users/views/show.html",
controller: "UserController",
...
})
我也设置了默认路由:
$urlRouterProvider.otherwise("/dashboard");
问题:
当我转到 http://127.0.0.1:8000/app/#/users/testuser123
时,它显示 index.html
来自 users
状态而不是 show.html
来自 users.id
状态。有什么问题?
如果调用 http://127.0.0.1:8000/app/#/users/testuser123
users.id
的 url 定义中添加 users
.state('users.id', {
url: "/users/{id:(?:[a-z0-9_-]{3,16})}",
templateUrl: "users/views/show.html",
controller: "UserController",
...
})