如何通过余烬操作将查询参数设置为null?

时间:2018-07-02 08:12:10

标签: javascript ember.js

在我的Ember应用程序中,我使用查询参数刷新模型数据并显示新信息。我有一个用例,需要清除所有数据并以“新”过滤器开始。

我正在尝试在余烬应用程序中创建一个“重置”按钮。此按钮应将URL中的现有查询参数还原为null。

查询参数在路由上的配置如下:

export default Route.extend({
  queryParams: {
    dateFrom: {refreshModel:true},
    dateTo: {refreshModel:true},
    hours: {refreshModel:true}
  }
}),

我分别在路由和控制器上尝试了以下操作:

resetParams() {
      this.set('queryParams.hours', null)
    }

我也尝试过简单地this.set('hours',null),但这没什么不同。 Ember文档没有讨论清除参数,只是阻止它们发粘。

1 个答案:

答案 0 :(得分:1)

queryParams始终出现在controller上。因此,在控制器上您有类似queryParams: ['dateFrom', 'dateTo', 'hours']的内容。然后,您可以directly do controller.set('dateFrom',null)to set the queryParam`。

因此,在路由上,您可以执行this.controller.set('dateFrom', null),而在控制器上this.set('dateFrom', null)

这有点令人困惑,因为queryParams的配置分散在路由和控制器上。但是queryParams始终是直接路由属性。还有queryParams对象下的 not 嵌套器。那只是配置。