嗨,這可能是一個燼初學者的問題,但我一直在努力找出如何從控制器進行this.get()請求時得到回調。Ember js得到來自控制器的this.get()請求的回調?
例如:
this.get('model').then(function(){ //do callback stuff here })
當我嘗試和在我的控制器執行此我收到錯誤「未捕獲類型錯誤:對象[對象的對象]無方法‘然後’」
的原因我試圖回電話是我想要處理UI中的加載事件 - 例如當數據加載時顯示一個微調器
嗨,這可能是一個燼初學者的問題,但我一直在努力找出如何從控制器進行this.get()請求時得到回調。Ember js得到來自控制器的this.get()請求的回調?
例如:
this.get('model').then(function(){ //do callback stuff here })
當我嘗試和在我的控制器執行此我收到錯誤「未捕獲類型錯誤:對象[對象的對象]無方法‘然後’」
的原因我試圖回電話是我想要處理UI中的加載事件 - 例如當數據加載時顯示一個微調器
您得到該錯誤的原因是因爲this.get
未返回承諾。
你可以在手柄條水平顯示微調器,我發現這是最明確的方法。例如,如果您正在使用陣列控制器的工作,最終將填補了一些數據:
{{#each}}
<p>{{name}}</p>
{{else}}
<div class="spinner">Loading content...</div>
{{/each}}
我是想這是對我的模型的的hasMany或屬於關聯屬性。
只有當關系屬性標記爲async時,此語法纔有意義,因爲我的不是。
感謝@ S'pht'Kr,我發現你只需要.then(...)部分,如果有可能相關模型尚未加載 - 即屬性真的包含DS.PromiseObject或DS.PromiseArray,即它是一個異步關係。
所以在我的模型之間的關係屬性設置爲異步:真讓我得到一個回調與「那麼()」
感謝馬特許的答案 – oneiota