添加外部JavaScript代码的最佳方法是什么?

时间:2014-12-15 06:12:23

标签: ember-cli

我想在页面上添加一些需要在页面呈现后加载的jQuery代码?

包含在ember-cli中的最佳方式是什么?

我们是否需要创建一个新的自定义js文件并使用app.import导入该js文件?

非常感谢。

1 个答案:

答案 0 :(得分:7)

推荐

您通常希望在Ember.ViewEmber.Component内完成此操作。这两个都实现了一个didInsertElement钩子,您可以使用它来在呈现后访问DOM元素

以下是一个例子:

export default Ember.View.extend({
  didInsertElement: function() {
    // this.$() is a scoped selector to the current view
    this.$().yourJqueryFunction(); 
  }
}

这是推荐的做法,因为您可以保证当时存在DOM。如果你只是在加载app js后使用jQuery函数,它很可能它不会出现在屏幕上,所以它不会被调用。您也可能不在使用此jQuery代码的路径上,然后导航到它。此时它不会被正确触发

ember docs found here

其他方式

您可以将js文件放在vendor/文件夹中,并使用app.import API在构建时将其导入vendor.js文件。这样做的主要缺点是您无法直接访问您的ember应用程序或ES6模块或您的插件可能添加的其他内容。