AngularJs UI路由器在嵌套参数视图上的奇怪导航行为

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJs UI路由器在嵌套参数视图上的奇怪导航行为相关的知识,希望对你有一定的参考价值。

我有一些UI状态定义如下:

//Parent State
$stateProvider.state(
    'customerdetail', {
    url: '/detail/:customerId',
    templateUrl: 'adminpages/customer.detail',
    controller: 'customerdetail',
    }
);

//Nested state1
$stateProvider.state(
    'customerdetail.detailInfo', {
        url: '/detailInfo',
        templateUrl: 'adminpages/customer.custDetail.detailInfo',
        controller: 'customerDetailInfo',
    }
);
//Nested state2
$stateProvider.state(
    'customerdetail.followRecord', {
        url: '/followRecord',
        templateUrl: 'adminpages/customer.custDetail.followRecord',
        controller: 'followRecord',
    }
);

//Some other state
$stateProvider.state(
    'newfollowrecords', {
        url: '/newfollowrecords',
        templateUrl: 'adminpages/customer.newfollowrecords',
        controller: 'newfollowrecord',
    }
);

当我单击某个将嵌套状态2更改为其他状态的URL然后导航回来(使用浏览器历史记录)时,浏览器会快速闪存到嵌套状态2,然后最终停留在嵌套状态1。

相同的操作在没有参数的其他嵌套状态上没有这种行为。

所以,我想知道我定义的参数是否有问题。感谢你能给我一些解决方案,非常感谢。

答案

我的错误是在父状态控制器中,我编程切换到嵌套状态1

以上是关于AngularJs UI路由器在嵌套参数视图上的奇怪导航行为的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS ui-router (嵌套路由)

angularjs ui-router 路由简介

AngularJS ui-router (嵌套路由)的简单学习

Angularjs中使用ui-route如何异步加载组件?

Angularjs ui router,路由嵌套 父controller执行问题

angularjs ui-route:仅更改 1 个嵌套视图并保存其他视图以防止重新加载