EmberJS 2.7 - 在路由转换时下载一个外部托管的文件(但只有一次)

EmberJS 2.7 - download an externally hosted file on route transition (but only once)

我在路由中有此代码:

import Ember from 'ember';

export default Ember.Route.extend({
  isEditing: true,

  beforeModel: function() {
      return Ember.$.getScript('//api.filestackapi.com/filestack.js');
  }
});

但这是正确的方法吗,每次用户转换到这条路线时它都会下载这个文件吗?

我试过 ,但在那个 运行 循环中 DOM 已经呈现,但我需要这个文件来呈现页面,所以这不起作用。我还尝试删除 运行 循环调用,但它似乎在 Ember 2.7 中不再起作用(我收到了已弃用的警告,应用程序无法加载任何内容!)。

是的。你的做法是对的。这也是 beforeModel 钩子指南中描述的内容。

You can return a promise from this hook to pause the transition until the promise resolves (or rejects). This could be useful, for instance, for retrieving async code from the server that is required to enter a route.

http://emberjs.com/api/classes/Ember.Route.html#method_beforeModel