我想在应用程序进入根状态时加载数据或执行一些计算,任何想法如何实现它?

最佳答案

我不确定你的问题是什么,因为 Controller 没有状态,所以我猜你在这里谈论的是路由。

如果要在进入 root 状态时加载数据,该功能尚未实现,但可能会在以后实现。

看看这个问题: Controller instances not available in connectOutlets of root state. ,我认为这正是你的问题。

在他们实现此功能之前,您仍然可以:

  • ApplicationController#init 方法中加载数据
  • 添加包含所有其他路由(root.all),并在 connectOutlets 路由的 all 方法中加载数据(我不喜欢这个解决方案)
  • 通过这样做观察路由器的 applicationController 属性(参见 this JSFiddle ):
    App.Router = Em.Router.extend({
      loadData: function() {
        // load data here
      }.observes('applicationController'),
    });
    
  • 关于ember.js - 进入root状态时加载数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12797493/

    10-12 13:50