$ state.go()的{reloadOnSearch:false}等效参数

时间:2017-07-11 08:33:15

标签: angularjs angular-ui-router

我想在我的页面上进行一些过滤操作,只想更改URL而不是重新加载页面。

我可以将路由配置为使用reloadOnSearch:false而不重新加载UI,只需更改URL。

.state('testing', {
                    url: '/testing?&param',
                    templateUrl: 'some_template',
                    reloadOnSearch: false
                })

这完全正常,但由于某些原因我不想在状态参数中提及这一点,而是想将此值作为参数传递。

我尝试将{reload:false}传递给

$state.go('testing', {param: 123}, {reload: false})

但它似乎没有起作用。它改变了状态,所以重新加载页面。

任何人都可以帮我找一下$ state.go()(或某些等价物){reloadOnSearch:false}的等效语法

1 个答案:

答案 0 :(得分:0)

如果我们需要更改参数并更改网址 - 但保持视图不变...我们确实使用子状态。 (查看example

  .state('testing', {
      url: "/testing",
      templateUrl: 'parent.tpl.html',
  })
  .state('testing.child', { 
      url: "?param",
      //params: {
      //  param: null,
      //},
      template: '',
  })

并使用这些链接

<a ui-sref="testing">testing</a>
<a ui-sref="testing.child({param:123})">
<a ui-sref="testing.child({param:987})">

这些链接将更改网址,但父模板(视图)将是相同的。检查here