2014-02-20 160 views
2

我有一個路線,其中model方法返回一個承諾。根據Ember.js spec,這導致某些操作(呈現,setupController)被延遲,直到承諾解決。立即在Ember.js中渲染

這對我來說並不好。我希望立即呈現視圖。然後,一旦模型變得可用,我想在控制器上設置一個屬性。這將導致重新渲染視圖的適當部分。

這樣做的正確方法是什麼?特別是我不想操縱我的控制器內的承諾。理想情況下,我將在路由中完成所有依賴設置,就像現在一樣。

回答

1

有類似的問題。通過等待didInsertElementView上觸發,然後通過使用this.get('controller').send('actionInsideControllerHere');調用控制器上的一個動作,我解決了即時渲染問題。該操作調用我的模型(對象)之一,並更改控制器上的屬性以顯示正在等待數據的組件上的「spinners」。可能有更好的方法來做到這一點,但這是我現在想出來的。讓我知道這是否適用於你。