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

Ember.js query params not respecting replace: true and using replaceState

本文关键字:true replaceState replace 查询 js 参数 Ember      更新时间:2023-12-27

我遇到了一个问题,我的查询参数都设置为使用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'
  }
},

需要在路由上指定replace:true