0

別のコントローラーのコンテンツを設定しようとしていますが、モデルが未定義を返します。他のコントローラーのモデルを設定しようとする前に、照会された結果を取得するために考えられるすべてのことを試しました。

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 になります。

4

1 に答える 1

1

ember モデルのフェッチは、モデルではなくプロミスを返します。プロミスを使用します

    var promise = this.getFilters(item.id);
    promise.then(function(content){
      console.log(content);
      this.get("controllers.filters").set('model', content);
    }    
于 2013-12-10T20:58:19.653 に答える