簡體   English   中英

Ember.js:路由返回包括承諾的多個模型,給出錯誤

[英]Ember.js: route returning multiple models including a promise, gives error

我正在嘗試為一條路線返回多個模型,是的,我正在使用RSVP.Hash( GitHub鏈接 ):

App.GamesIndexRoute = Ember.Route.extend({
    model: function () {
        return new Ember.RSVP.Hash({
            player: App.LocalPlayer.singleton(this.store),
            games: [{id: 1, name: "Game 1"}, {id: 2, name: "Game 2"}]
        });
    },

    setupController: function(controller, models) {
        this._super(controller, models);
        controller.set("player", models.player);
    }
});

問題是,其中一個對象來自promise本身,因為我只想從該模型中找到第一個對象( GitHub鏈接 ):

App.LocalPlayer = DS.Model.extend({
    name: DS.attr("string"),
    playerId: DS.attr("string")
});

App.LocalPlayer.singleton = function (store) {
    return new Ember.RSVP.Promise(function (resolve, reject) {
        store.find("localPlayer").then(function (things) {
            var p = things.get("firstObject");
            if(!p) {
                p = store.createRecord("localPlayer");
            }
            resolve(p);
            reject({error: "Error loading LocalPlayer"});
        });
    });
};

當我創建LocalPlayer對象后嘗試轉到games.index路由時,它說:“處理路由時出錯:games.index undefined不是函數TypeError:undefined不是函數”

該倉庫位於GitHub上 -完全開源。 請幫忙。

哈哈哈...。我意識到自己的錯誤。 這是我沒有正確閱讀的錯,這使我失去了大約兩天的生命。 那好吧。

RSVP.Hash初始化如下:

return Ember.RSVP.hash({ ... })

不像我在做的那樣:

return new Ember.RSVP.Hash({ ... })

問題解決了。 我希望錯誤報告更加清晰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM