搜索酒店时,我的初始路线看起来像
App.Router.map ->
this.resource('hotels',
path: '/hotels/:city/:country/:checkin/:checkout/', ->
this.resource('hotels.sort',
path: '/sort/:method'
)
)
在儿童路线中;
App.HotelsSortRoute = Ember.Route.extend
model: (params) ->
console.log(params);
仅返回{sort: price}
Ember deeply nested routes do not keep parent dynamic parameter处的优秀资源暗示使用this.modelFor
将返回父模型
但是,向后端发出的查询(以不同方式对酒店进行排序)也会返回不同的结果(因为它的分页大约有20家酒店)。
如何在不重新加载整个页面的情况下向服务器发送新请求进行排序?
答案 0 :(得分:1)
Ember从最高的路线层次结构开始逐个加载路线的模型。因此,在等待所有路径的满载时,您无法避免为父模型发出请求。 您可以在模型挂钩中设置断点来探索它。
在你的情况下,我建议将“排序”参数提升到父路线并完全删除子路线。毕竟,您始终可以设置默认排序。