$ state.go()转换问题,仅在第二次点击时出现

时间:2015-12-17 09:25:10

标签: angularjs angular-ui-router

我对ui-router有一个问题,我无法完全理解。我可以点击链接(在我的应用程序的登录页面上)并导航到第二页(用户可以注册的页面)。第二页上有一个取消按钮,它只是将用户导航回第一页。到目前为止一切都很好。

如果我再次点击相同的链接,用户似乎会保持在同一页面(即登录页面),但是我已经为我的应用程序添加了“状态更改”处理程序(它只是将转换记录到控制台)并且可以看到实际发生的事情是应用程序似乎转换到第二页然后再返回。除了演示流程之外,以下内容没有多大意义。您可以在再次启动之前看到状态更改开始,结束和视图加载,并转换回'authentication.login'

Start state change : {authentication.login} to {authentication.registration}
View content loading
End state change success : {authentication.login} to {authentication.registration}
View content loaded
Start state change : {authentication.registration} to {authentication.login}
View content loading
End state change success : {authentication.registration} to {authentication.login}
View content loaded

注意:两个页面都是同一抽象节点的兄弟。

为什么会发生这种情况的任何想法?

注意:状态配置如下

.state("authentication", {
    url : "/auth",
    abstract : "true",
    templateUrl : "app/main/common/html/templates/simple-template.html",
})

.state("authentication.login", {
    url: "/login",
    views: {
        "main": {
            templateUrl : "app/main/authentication/html/login.html",
            controller: "LoginController"
        }
    }
})

.state("authentication.registration", {
    url: "/registration",
    views: {
        "main": {
            templateUrl : "app/main/authentication/html/registration.html",
            controller: "RegistrationController"
        }
    }
})

0 个答案:

没有答案