重新加载AngularJS页面时保留查询字符串

时间:2017-03-22 10:03:15

标签: javascript angularjs angular-ui-router

我想在点击后在我的网址上保留一些查询字符串(并刷新页面

我正在使用:

$state.reload();

但它没有保留url quertytring我在页面上有按钮,点击“buttonControler”后我只想刷新页面,但是网址应该打开url.com/buttonPage/?param1&param2

我也尝试过:

var url = $location.absUrl().split('?')[0];
$window.location.href = url +"?param"

...但这基本上是相同的url并且它不会刷新,因为刷新后我得到了一个新数据。

1 个答案:

答案 0 :(得分:0)

如果您在重新加载的路线中配置了状态参数,则此设置应与$state.reload()一起使用。 $state.reload()相当于:

$state.transitionTo($state.current, $stateParams, {
    reload: true,
    inherit: false,
    notify: true
});

这样,如果您的路线为url.com/buttonPage/?param1=var&param2=var2,您的州定义应如下所示:

$stateProvider
    .state('buttonPage', {
       url: '/buttonPage',
       params: {
          param1: null,
          param2: null
       },
       templateUrl: 'someTemplate.html
     })

有关在路线中处理参数的更多信息,请查看UI-router routing documentation