处理子路径中的过滤

时间:2014-09-11 14:51:47

标签: ember.js

搜索酒店时,我的初始路线看起来像

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家酒店)。

如何在不重新加载整个页面的情况下向服务器发送新请求进行排序?

1 个答案:

答案 0 :(得分:1)

Ember从最高的路线层次结构开始逐个加载路线的模型。因此,在等待所有路径的满载时,您无法避免为父模型发出请求。 您可以在模型挂钩中设置断点来探索它。

在你的情况下,我建议将“排序”参数提升到父路线并完全删除子路线。毕竟,您始终可以设置默认排序。