Angularjs Angular UI路由器:如何使用不同的$stateParam进入相同的状态?

Angularjs Angular UI路由器:如何使用不同的$stateParam进入相同的状态?,angularjs,angular-ui-router,state,Angularjs,Angular Ui Router,State,我想知道如何使用不同的$stateParam进入相同的状态 我试着去: $state.go('^.currentState({param: 0})') 但是,它不起作用。这些参数是go()方法的第二个参数 $state.go('^.currentState', {param: 0}) 转换到新状态的简便方法$state.go在内部调用$state.transitiono,但会自动将选项设置为{location:true,inherit:true,relative:$state.$curren

我想知道如何使用不同的
$stateParam
进入相同的状态

我试着去:

$state.go('^.currentState({param: 0})')

但是,它不起作用。

这些参数是
go()
方法的第二个参数

$state.go('^.currentState', {param: 0})
转换到新状态的简便方法$state.go在内部调用$state.transitiono,但会自动将选项设置为{location:true,inherit:true,relative:$state.$current,notify:true}。这允许您轻松使用绝对或相对路径,并仅指定要更新的参数(同时允许未指定的参数从当前活动的祖先状态继承)


如果要重新加载状态,还可以使用ui sref opts。传入
reload:true
选项将重新加载当前状态


申请人

在我的例子中,我想重新加载相同的状态,但参数不同。(
null
在此特定事件中)

情况如下:我们有一个不同公司的网站,每个公司都有自己的品牌页面。您可以访问其他公司的页面,并且有一个菜单项可以快速访问您自己的页面

公司页面位于
/company/somecompanyid
下,而您自己的页面将在访问
/company
时加载。不添加id。或代码中的
公司id:null

问题
当您查看随机的公司页面时,比如说
公司/123456
,然后单击指定的菜单项访问您自己的页面,不会发生任何事情
Ui路由器相信你在同一条路线上,只是让你保持在那里

解决方案
将以下内容添加到模板:

您可能需要使用这段代码:


最简单的解决方案是->

您可以使用相同的控制器和相同的html页面设置2个状态,并逐个重定向

优点:不需要处理过去的历史,所有的工作都非常流畅

  .state('app.productDetails', {
         url: '/productDetails',
         cache: false,
         views: {
             'menuContent': {
                 templateUrl: 'src/products/productDetails/productDetails.html',
                 controller: 'ProductDetailsCtrl'
             }
         },
         params: {
             productID: 0,
             modelID: 0
         }
     })

    .state('app.modelDetails', {
        url: '/modelDetails',
        cache: false,
        views: {
            'menuContent': {
                templateUrl: 'src/products/productDetails/productDetails.html',
                controller: 'ProductDetailsCtrl'
            }
        },
        params: {
            productID: 0,
            modelID: 0
        }
    })

此外,我还发现以下方法是有效的:$state.go('.',{param:0})
^.
是什么意思?@LeonGaban这是一个简单的方法,如何说父状态。。没有明确的命名。选中-
$state.go('^')
-将转到父级状态
$state.go('^.sibling')
-将转到同级状态谢谢!顺便说一句,我自己也遇到了一个州导航问题,介意看看吗
$state.go('.', {param: someId});