一个 ui-sref link 工作,其余的不工作
One ui-sref link working, the rest don't
我有一个页面,其中我在 Angular 模板上添加了三个 link。第一个 link 有效,后两个无效。第一个 link 将光标显示为指针,后两个将光标显示为 auto/default。这是 links:
<a ui-sref="doctorMain">Doctor Main</a><p/>
<a ui-sref="doctor.chat">Doctor Chat</a><p/>
<a ui-sref="user.chat">User Chat</a>
第一个 link 有效,另外两个在我的控制台中打印出这条消息:
Error: Could not resolve 'user.chat' from state 'userMain'
at Object.transitionTo (angular-ui-router.js:3074)
at Object.go (angular-ui-router.js:3007)
at angular-ui-router.js:4057
at angular.js:17918
at e (angular.js:5552)
at angular.js:5829(anonymous function) @ angular.js:12520(anonymous function) @ angular.js:9292(anonymous function) @ angular.js:17921e @ angular.js:5552(anonymous function) @ angular.js:5829
这就是我在 app.config 模块中进行路由的方式。
$stateProvider
.state('doctorMain', {
url: "/doctorMain",
templateUrl: "partials/doctor/doctor-main.html",
controller: 'DoctorJoinChat',
data: {
doctor: true
}
})
.state('doctor.chat', {
url: "/doctorChat",
templateUrl: "/partials/test.html",
controller: 'DoctorJoinChat',
data: {
doctor: true
}
})
.state('userMain', {
url: "/userMain",
templateUrl: "/partials/patient/form.html",
data: {
user: true
}
})
.state('user.chat', {
url: "/userChat",
templateUrl: "/partials/test.html",
data: {
user: true
}
});
您需要将主根命名为 'doctor' 而不是 'doctorMain' 和 'user' 而不是 'userMain' (子根使用主根的名称作为前缀).够清楚了吧?
当您说 user.chat
时,您正在尝试定义一个新的子状态 chat
,其父状态名为 user
。这就是点约定的含义 - parentState.childState
.
在你的例子中,doctor.chat
和 user.chat
存在,应该有父状态 doctor
和 user
,所以你应该重命名你的主要状态,如下所示.
doctorMain
到 doctor
userMain
到 user
我有一个页面,其中我在 Angular 模板上添加了三个 link。第一个 link 有效,后两个无效。第一个 link 将光标显示为指针,后两个将光标显示为 auto/default。这是 links:
<a ui-sref="doctorMain">Doctor Main</a><p/>
<a ui-sref="doctor.chat">Doctor Chat</a><p/>
<a ui-sref="user.chat">User Chat</a>
第一个 link 有效,另外两个在我的控制台中打印出这条消息:
Error: Could not resolve 'user.chat' from state 'userMain'
at Object.transitionTo (angular-ui-router.js:3074)
at Object.go (angular-ui-router.js:3007)
at angular-ui-router.js:4057
at angular.js:17918
at e (angular.js:5552)
at angular.js:5829(anonymous function) @ angular.js:12520(anonymous function) @ angular.js:9292(anonymous function) @ angular.js:17921e @ angular.js:5552(anonymous function) @ angular.js:5829
这就是我在 app.config 模块中进行路由的方式。
$stateProvider
.state('doctorMain', {
url: "/doctorMain",
templateUrl: "partials/doctor/doctor-main.html",
controller: 'DoctorJoinChat',
data: {
doctor: true
}
})
.state('doctor.chat', {
url: "/doctorChat",
templateUrl: "/partials/test.html",
controller: 'DoctorJoinChat',
data: {
doctor: true
}
})
.state('userMain', {
url: "/userMain",
templateUrl: "/partials/patient/form.html",
data: {
user: true
}
})
.state('user.chat', {
url: "/userChat",
templateUrl: "/partials/test.html",
data: {
user: true
}
});
您需要将主根命名为 'doctor' 而不是 'doctorMain' 和 'user' 而不是 'userMain' (子根使用主根的名称作为前缀).够清楚了吧?
当您说 user.chat
时,您正在尝试定义一个新的子状态 chat
,其父状态名为 user
。这就是点约定的含义 - parentState.childState
.
在你的例子中,doctor.chat
和 user.chat
存在,应该有父状态 doctor
和 user
,所以你应该重命名你的主要状态,如下所示.
doctorMain
到doctor
userMain
到user