2014-02-26 34 views
1

什麼是在控制器執行耗時的操作(如服務器查詢)時顯示可重複使用的加載屏幕的好方法。 Ember爲路由轉換提供了共享加載路由功能,也許有人能夠在控制器中利用這些功能?如何處理ember中控制器中的加載事件

我目前的想法是在ApplicationController中實現動作來顯示和隱藏加載div。然後控制器可以在耗時的操作之前和之後調用這些。也許有人有更好的解決方案?

回答

3

我相信你有幾個選擇。我會做這兩個之一:

  1. 定義加載路徑/模板。 loading模板將被渲染到父路由的出口,並且在轉換完成時將被當前路由的內容替換。我曾經在這裏用過一個模式對話框來顯示加載消息。

  2. 定義動作ApplicationRoute。操作從控制器中冒泡到匹配的路由,然後到達路由鏈。如果您在最上面的路線中定義動作,則可以從任何將被捕捉的控制器發送消息。我目前在我的ApplicationRoute中有startLoadingstopLoading動作。

+0

感謝GJK我最終根據您的建議定義了我的ApplicationRoute中的動作。此外,我將大部分耗時的操作從我的控制器中移出並放入我的路線中。 – TrevTheDev

相關問題