Ember.js查询参数不尊重replace:true并使用replaceState

时间:2016-04-05 12:19:00

标签: javascript ember.js

我遇到的问题是我的查询参数都设置为使用replace:true,但是当我更改属性时,使用pushState而不是replaceState更新查询参数。

您可以在https://www.timbuktutravel.com/trips

中看到此行为

因此,当过滤器更改时,查询参数会更新,但是使用pushState会发生这种情况,所以在您更改了过滤器几次之后。如果您再单击后退,则开始浏览先前过滤组合的历史记录

任何帮助都非常感谢!!

我的查询参数定义如下:

queryParams: {
  selectedCountryNames: {
    replace: true,
    as: 'countries'
  },
  selectedExperienceNames: {
    replace: true,
    as: 'experiences'
  },
  selectedActivityNames: {
    replace: true,
    as: 'activities'
  },
  selectedWildlifeNames: {
    replace: true,
    as: 'wildlife'
  },
  selectedMonthNames: {
    replace: true,
    as: 'month'
  },
  selectedTripLengths: {
    replace: true,
    as: 'length'
  },
  selectedBudgets : {
    replace: true,
    as: 'budget'
  }
},

1 个答案:

答案 0 :(得分:1)

需要在路线上指定replace:true