Javascript 仅针对特定子状态的角度ui路由器动态参数

Javascript 仅针对特定子状态的角度ui路由器动态参数,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,UI路由器具有动态状态参数的概念,这些参数可以更新,并且不会触发状态更改。我想知道是否有人知道一种只为一个特定子状态指定动态参数的方法。在之前的ui路由器v0.x中,您可以使用reloadOnSearch状态选项来实现这一点 比如说 state('parentState', { abstract: true, url: '?{filter}', component: 'parentView', }) .state('parentState.childOne', {

UI路由器具有动态状态参数的概念,这些参数可以更新,并且不会触发状态更改。我想知道是否有人知道一种只为一个特定子状态指定动态参数的方法。在之前的ui路由器v0.x中,您可以使用reloadOnSearch状态选项来实现这一点

比如说

state('parentState', {
    abstract: true,
    url: '?{filter}',
    component: 'parentView',
})
.state('parentState.childOne', {
    abstract: false,
    url: '/childOne',
    views: {
        embeddedView: {
            component: 'childOne'
        }
    }
 })
 .state('parentState.childTwo', {
    abstract: false,
    url: '/childOne',
    views: {
        embeddedView: {
            component: 'childTwo'
        }
    }
 })
我希望“过滤器”对childTwo是动态的,而对childOne是非动态的

我试过做类似的事情,但似乎不起作用

 .state('parentState.childTwo', {
    abstract: false,
    url: '/childOne',
    params: {
        filter: {
            dynamic: true,   
        }
    }
    views: {
        embeddedView: {
            component: 'childTwo'
        }
    }
 })

我通过覆盖完整的参数定义修复了这个问题。 因此,如果过滤器参数在
parentState
中定义如下:

params: {
  filter: {
    dynamic: false
  }
}
您应该能够像在
childTwo
中那样动态地定义它


在您的示例中,它不起作用的原因很可能是您最初没有在
parentState
中定义参数

我通过覆盖完整的参数定义解决了这个问题。 因此,如果过滤器参数在
parentState
中定义如下:

params: {
  filter: {
    dynamic: false
  }
}
您应该能够像在
childTwo
中那样动态地定义它

在您的示例中,它不起作用的原因很可能是您最初没有在
parentState
中定义参数