【问题标题】:One ui-sref link working, the rest don't一个 ui-sref 链接有效,其余链接无效
【发布时间】:2016-04-06 01:37:33
【问题描述】:

我有一个页面,其中我在 Angular 模板上设置了三个链接。第一个链接有效,第二个链接无效。第一个链接将光标显示为指针,后两个链接将光标显示为自动/默认。以下是链接:

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

【问题讨论】:

  • 为了让您的user.chat 作为子状态存在,应该有一个名为user 的父状态

标签: javascript angularjs angular-ui-router ui-sref


【解决方案1】:

您需要将主根命名为“doctor”而不是“doctorMain”和“user”而不是“userMain”(子根使用主根的名称作为前缀)。够清楚吗?

【讨论】:

    【解决方案2】:

    当您说user.chat 时,您正在尝试使用名为user 的父状态定义一个新的子状态chat。这就是点约定的含义 - parentState.childState

    在您的示例中,要存在 doctor.chatuser.chat,应该有父状态 doctoruser,因此您应该重命名您的主要状态,如下所示。

    • doctorMaindoctor
    • userMainuser

    【讨论】:

    • 非常感谢!我必须投票给另一个人,因为他在你之前到达那里,但你的答案也很准确。
    猜你喜欢
    • 1970-01-01
    • 2021-02-18
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 2012-05-17
    • 2015-08-20
    相关资源
    最近更新 更多