我有一个页面,其中我在Angular模板上有三个链接。第一个链接工作,第二个链接不工作。第一个链接将光标显示为指针,第二个链接将光标显示为auto / default。以下是链接:
<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>
第一个链接有效,另外两个在我的控制台中打印出此消息:
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
}
});
答案 0 :(得分:2)
您需要将主要名称命名为“doctor”而不是“doctorMain”和“user”而不是“userMain”(子根使用主根名称作为前缀)。这是明确的吗?
答案 1 :(得分:1)
当您说user.chat
时,您正尝试使用名为chat
的父状态定义新的子状态user
。这就是点约定所暗示的 - parentState.childState
。
在您的示例中,要存在doctor.chat
和user.chat
,应该有父状态doctor
和user
,因此您应该重命名主要状态,如下所示。< / p>
doctorMain
至doctor
userMain
至user