如何处理ember中控制器中的加载事件

时间:2014-02-26 09:51:58

标签: ember.js

在控制器执行耗时的操作(如服务器查询)时,显示可重复使用的加载屏幕的好方法是什么。 Ember为路由转换提供了共享加载路由功能,也许有人能够在控制器中利用这些功能吗?

我目前的想法是在ApplicationController中实现操作以显示和隐藏加载div。然后,控制器可以在耗时的操作之前和之后调用这些。也许某人有更好的解决方案?

1 个答案:

答案 0 :(得分:3)

我相信你有几个选择。我会做这两个中的一个:

  1. 定义加载路径/模板。 loading模板将呈现到父路径的出口,并在转换完成时将被当前路径的内容替换。我曾经使用模态对话框显示加载消息。

  2. ApplicationRoute中定义操作。操作从控制器冒泡到匹配的路径,然后在路径链上。如果在最顶层路由中定义操作,则可以从将捕获的任何控制器发送消息。我目前在startLoading中执行了stopLoadingApplicationRoute次操作。