0

我目前正在编写一个依赖于夹具数据的应用程序(将遵循 REST API),我遇到了一些问题或误解。

我展示了许多不同类别的产品,我的索引路线例如应该只展示包含特殊标志的产品。

TM.IndexRoute = Ember.Route.extend({
model: function() {
    return TM.Product.all().toArray().filter(function(item){
                        return item.get('featured') === 1;
                    });
}});

我的问题:第一次加载索引路由后,模型为空。切换到不同的路由并返回到索引路由会按预期加载数据。我对其他过滤也有同样的问题,不知道为什么会这样。它总是在没有过滤器的情况下立即工作 - 所以我的绑定必须是正确的。

我正在使用最新版本的 ember (1.0.0-rc2) 和 ember-data (rev 12)。

提前谢谢。

4

1 回答 1

0

我想我发现了我的问题。.find() 方法不会同步返回完整对象,它们会异步填充,即使使用夹具适配器也是如此 - 毕竟这是有道理的。

我想正确的解决方案是返回 TM.Product.find({featured: 1}) 作为我的模型 - 这不是在夹具适配器中实现的。ember-data 的 Rev. 11 没有给我警告,但 rev 12 幸运的是。

最后,我对夹具适配器同步返回结果的 .find() 错误期望导致了我的问题。

于 2013-04-03T07:13:56.387 回答