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



我在路由中有这样的代码:

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钩子在指南中描述的。

你可以从这个钩子返回一个promise来暂停转换,直到promise被解析(或拒绝)。例如,这对于从服务器检索输入路由所需的异步代码可能很有用。

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

最新更新