3

我有 url /tests/test-slug?extradata=data 我的所有参数都在 ember 中正确设置。当设置该额外数据参数时,模型会使用来自 (/tests/test-slug?extradata=data) 响应的新数据进行更新。通常我会通过执行以下操作使用 ember-model 检索数据:

model: function (params) {
  return App.Test.findQuery(params);
}

但是将查询参数添加到这个嵌套的 url 它给了我 'test-slug' 作为带有额外数据的参数并向服务器发出请求:?tests_slug=test-slug&extradata=data

无论如何我可以使用查询参数并在嵌套路由上更新我的模型吗?

编辑:这篇文章比我解释得更好: Ember data - dynamic segments and query params together?

4

2 回答 2

3

params使用 parant 路由扩展您的路由params并将其发送到.findQuery()

Ember.$.extend(params, this.paramsFor('parentRoute'));

更多:http ://emberjs.com/api/classes/Ember.Route.html#method_paramsFor

于 2015-01-29T23:50:42.143 回答
1

PR应启用此方案,但尚未合并到 Ember.Data 中。

在此之前,您可以覆盖findQuery方法 on ApplicationAdapter,这样id参数将作为 url 的一部分传递,其他参数作为查询参数传递。以 JsBin为例。

于 2015-01-30T09:52:51.550 回答