带有普通对象的Ember.js查找不起作用

Ember.js find with plain object is not working

本文关键字:Ember js 查找 不起作用 对象      更新时间:2023-09-26

我使用Ember.js来获得这样的项目:

App.MyData.find()

要获得这样的项目:

App.MyData.find(itemId)

然后我使用过滤器并在模型函数中返回它,如下所示:

App.MyRoute = Ember.Route.extend({   
    model: function()   {
        return App.MyData.find().filter(function(a)
        {
            return a.get('desc') != null;
        });
    } 
});

它运行得很好。

现在,我想将另一个参数传递给底层PHP脚本返回项。所以我使用了"查询记录描述":

"如果您提供一个普通对象作为要查找的第二个参数,Ember Data将使用序列化为查询参数的对象发出GET请求。此方法返回DS.PromiseArray的方式与不使用第二个变量的查找相同。"

根据文档,它的行为应该与find相同,没有简单的对象参数。

但事实并非如此。我的视图不再显示。

我检查了GET请求。它返回完全相同的数据。

我在JS中没有错误。

如何将参数传递给PHP,同时以某种方式获取项目?

正如您在这个jsbin中看到的那样,它确实有效。所以,如果它对你不起作用,你要么有一个非常旧的版本,要么你做错了什么。

我用这个来获得模型:

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('thing', { beer: 'heineken' });
  }
});

这导致了这个请求:GET /things?beer=heineken".