2014-03-07 37 views
1

嗨,這可能是一個燼初學者的問題,但我一直在努力找出如何從控制器進行this.get()請求時得到回調。Ember js得到來自控制器的this.get()請求的回調?

例如:

this.get('model').then(function(){ //do callback stuff here })

當我嘗試和在我的控制器執行此我收到錯誤「未捕獲類型錯誤:對象[對象的對象]無方法‘然後’」

的原因我試圖回電話是我想要處理UI中的加載事件 - 例如當數據加載時顯示一個微調器

回答

0

您得到該錯誤的原因是因爲this.get未返回承諾。

你可以在手柄條水平顯示微調器,我發現這是最明確的方法。例如,如果您正在使用陣列控制器的工作,最終將填補了一些數據:

{{#each}} 
    <p>{{name}}</p> 
{{else}} 
    <div class="spinner">Loading content...</div> 
{{/each}} 
+0

感謝馬特許的答案 – oneiota

2

我是想這是對我的模型的的hasMany或屬於關聯屬性。

只有當關系屬性標記爲async時,此語法纔有意義,因爲我的不是。

感謝@ S'pht'Kr,我發現你只需要.then(...)部分,如果有可能相關模型尚未加載 - 即屬性真的包含DS.PromiseObject或DS.PromiseArray,即它是一個異步關係。

所以在我的模型之間的關係屬性設置爲異步:真讓我得到一個回調與「那麼()」

相關問題