0

我正在构建具有搜索功能的地图。基本上,我想将来自服务器的对象存储在我的 ember 应用程序中,这样每当我搜索某个集合时,该集合就会使用来自服务器的结果进行自我更新,以便相关视图自行更新。这一切都在一页上。

到目前为止,我有一个应用程序控制器和一个结果 ArrayController。数据显示在结果控制器中。现在我需要在请求搜索时从服务器获取 JSON 并更新结果集合。

第一个问题是:你将如何构建它?

我只用 jQuery 做了一个 v1,并用 Ember 开始了一个新的,但我不知道应该如何构建它。

我根据我在这里的内容构建了一个小型 jsbin:http: //emberjs.jsbin.com/IYuSIXE/1/

第二个问题:如何更改路线的模型内容?我走错方向了吗?

非常感谢

4

2 回答 2

1

您可以使用查询参数执行 1 和 2,请在此处查看文档https://github.com/alexspeller/website/blob/a96d9afe4506454b155cc64299e86e558ce3c9f1/source/guides/routing/query-params.md

当您的路线调用模型时,它将传递查询参数,您可以对它们进行搜索

  model:function( params, queryParams, transition ) { callToYourBackedEndWithQueryParams}

第二个问题:如何更改路线的模型内容?我走错方向了吗?

当请求搜索时,在您可以调用的操作中this.transitionTo({queryParams: {sort: 'asc'}});,这将再次启动模型挂钩,您可以再次对您的服务器进行查询。

于 2013-10-22T01:54:29.180 回答
0

我一直在寻找的是一种即时更改模型的方法。

所以基本上如果我有这个:

App.ResultsRoute = Ember.Route.extend({
    model: function() {
        // empty array that will contain results
        return [];
    }
});

我可以这样做来设置模型的内容:

this.get('model').setObjects([{}, {}, {}]);

这样我就可以动态地玩模型,用几乎来自任何地方的对象加载它们。

于 2013-10-23T16:44:20.560 回答