通过执行获取查询的操作设置不同的控制器模型

时间:2013-12-10 20:41:16

标签: ember.js ember-model

我正在尝试设置另一个控制器的内容,但我的模型返回undefined。在尝试设置其他控制器的模型之前,我已经尝试了所有我能想到的查询结果。

Mapmaker.CategoriesController = Ember.ArrayController.extend({
needs: ['filters'],
actions: {
    setCategories: function(item) {
        var content = this.getFilters(item.id);
        console.log(content.fulfillmentValue._data.objects);
        this.get("controllers.filters").set('model', content.fulfillmentValue._data.objects);
    }
},
getFilters: function(id){
    //trying to force sync
    return Mapmaker.Tile.fetch('?categories=' + id);
}

});

有什么想法?如果我需要显示更多代码,请告诉我。 我正在使用ember-model的restful适配器来查询结果。

我正在获得结果,但它们只是isLoaded:false我试图设置控制器的模型。

1 个答案:

答案 0 :(得分:1)

在ember模型中获取返回一个promise而不是一个模型,使用promise

    var promise = this.getFilters(item.id);
    promise.then(function(content){
      console.log(content);
      this.get("controllers.filters").set('model', content);
    }