如何根据需要加载Ember.js的部分?

时间:2012-12-08 20:07:58

标签: ember.js

我想按需加载我的Ember.js应用程序的一部分(应用程序是用AMD构建的,但是合并为一些大的脚本文件用于生产)。

一个例子:

浏览'/'

用户从/开始,HTML加载包含Ember.js的文件core.js,路由和应用程序控制器+视图。

浏览到'/ user / settings'

所以现在用户第一次浏览/user/settings。这里的视图,控制器和模板都在user.js中,它通过脚本加载器按照相应的路径加载:

App.UserRoute = Em.Route.extend({
  enter: function(ctx) {
    this.ajaxLoadFiles("user.js", function() {
      // ???
    });
  }
});

问题

不知何故,Ember.js需要等待才能加载脚本,然后继续路由......我该怎么做?

1 个答案:

答案 0 :(得分:1)

我使用的是require.js,它非常适合模块化代码!

你可以克隆todoMVC AMD版本来学习

https://github.com/addyosmani/todomvc/tree/gh-pages/dependency-examples/emberjs_require

有关进一步的建议,请参阅此帖:

Is there any way to split an Ember.js app across a few files?