Javascript 如何使用余烬操作将查询参数设置为null?
在我的Ember应用程序中,我使用查询参数刷新模型数据并显示新信息。我有一个用例,需要能够清除所有数据并从“刷新”过滤器开始 我正在尝试在我的余烬应用程序中创建“重置”按钮。此按钮应将URL中的现有查询参数还原为null 查询参数在路由上的配置如下:Javascript 如何使用余烬操作将查询参数设置为null?,javascript,ember.js,Javascript,Ember.js,在我的Ember应用程序中,我使用查询参数刷新模型数据并显示新信息。我有一个用例,需要能够清除所有数据并从“刷新”过滤器开始 我正在尝试在我的余烬应用程序中创建“重置”按钮。此按钮应将URL中的现有查询参数还原为null 查询参数在路由上的配置如下: export default Route.extend({ queryParams: { dateFrom: {refreshModel:true}, dateTo: {refreshModel:true}, hours
export default Route.extend({
queryParams: {
dateFrom: {refreshModel:true},
dateTo: {refreshModel:true},
hours: {refreshModel:true}
}
}),
我分别在路线和控制器上尝试了以下操作:
resetParams() {
this.set('queryParams.hours', null)
}
我也尝试过这个简单的方法。设置'hours',null,但没有什么区别。Ember文档没有讨论清除参数,只是阻止它们粘滞。查询参数始终存在于控制器上。因此,在控制器上有类似queryParams的内容:['dateFrom','dateTo','hours']。然后您可以直接使用docontroller.set'dateFrom',null来设置queryparam`
因此,在路由上可以这样做。controller.set'dateFrom',null,在控制器上,set'dateFrom',null
这有点令人困惑,因为queryParams的配置分散在路由和控制器上。但是,queryParams的值始终是直接路由属性。而不是queryParams对象下的嵌套。这只是配置。这一切都有意义。