簡體   English   中英

立即在Ember.js中渲染

[英]Render immediately in Ember.js

我有一條路線,其中model方法返回承諾。 根據Ember.js規范 ,這導致某些操作(渲染, setupController )被延遲,直到承諾被解決為止。

就我而言,這不好。 我想立即渲染視圖。 然后,一旦模型可用,我想在控制器上設置一個屬性。 這將導致重新渲染視圖的適當部分。

正確的做法是什么? 特別是,我不想對控制器內部的promise進行操作。 理想情況下,像現在這樣,我將在路由中完成所有依賴項設置。

使用LoadingRoute解決了它,示例如下:

http://jsfiddle.net/u3w9Q/

請注意,較新的版本(我認為> = 1.3)也支持更復雜的方案。 此處有更多詳細信息:

http://emberjs.com/guides/routing/loading-and-error-substates/

發生了類似的問題。 我通過等待didInsertElementView上觸發然后通過使用this.get('controller').send('actionInsideControllerHere');在控制器上調用動作來解決渲染的直接問題this.get('controller').send('actionInsideControllerHere'); 該動作調用了我的一個模型(對象),並且還更改了控制器上的屬性,以顯示正在等待數據的組件上的“旋轉器”。 也許有更好的方法可以做到這一點,但這就是我現在想出的。 讓我知道這是否適合您。

暫無
暫無

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

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