我一直在摔跤的時間超過了我的承認。我正在嘗試從本地商店加載一些數據,將返回的值設置爲路由圖層的模型,然後使用該內容呈現Ember.Select
。很簡單的東西對嗎?Ember.Select拋出錯誤#each幫手
這是我的路,我在哪裏加載數據:
App.IdentityRoute = Ember.Route.extend({
model: function() {
return new Promise(function(resolve, reject) {
MuttrChat.models.Identity.find({}, function(err, results) {
if (err) {
return reject(err);
}
resolve({ identities: results });
});
});
},
actions: {
ready: function() {
this.transitionTo('inboxes');
}
}
});
好,太好了,這工作。我的控制器不包含與問題相關的任何內容(只是一個動作),所以我會通過語法突出顯示來消除你的死亡。下面是我的模板,我想呈現片段:
{{#if model.identities}}
<li>
{{view 'select' classNames='topcoat-select' content=model.identities value=selectedIdentity size=6 optionValuePath='content.userID'}}
</li>
{{/if}}
如果從查詢結果爲空(即該塊不運行),一切都很好,但是當我有結果(這是整個點),灰燼拋出,給我:
Error: Assertion Failed: The value that #each loops over must be an Array. You passed [[object Object],[object Object]]
這是推動我堅果,因爲這是明確的數組!我嘗試了各種使用Ember.A
和Ember.ArrayProxy
的醜陋黑客,但他們最終都導致了同樣的錯誤。
這裏的任何幫助是大大讚賞。
你做了什麼代碼變更?我有這個相同的問題,我將數組包裝在Em.A()中。我好奇,因爲這不適合你。 – blessenm
我只是將對象的數組轉換爲我的存儲適配器返回給一個真正的Array的對象:'Array.apply(null,results)' – sp0rkyd0rky