javascript - 从 Controller 或路由访问 JQuery

标签 javascript jquery ember.js

我有下一个结构:

  • builder.hbs(模板)
  • builder.js(路线)
  • builder.js( Controller )

我想在渲染模板时执行一些 jQuery 代码。我找到了带有 View 和 didInsertElement 的旧解决方案,但在这种情况下我没有 View 。那么,是否可以从路由或 Controller 执行 jQuery 代码?

jQuery 代码:

this.$("#filtersMenu").fixedsticky();

最佳答案

您在 Controller 的 View 上有didInsertElement。如果说您有 IndexController 那么在 views/index.js 中您将拥有:

export default Ember.View.extend({
  didInsertElement: function(){
    this.$('#filtersMenu').fixedsticky();
    this._super();
  }
});

JSFiddle:http://emberjs.jsbin.com/kegere/1/edit?html,js,output除此之外,全局 jQuery 始终位于 Ember.$ 上:

Ember.$('#filtersMenu').fixedsticky();

也就是说,您应该考虑将其放入完全负责渲染它的组件中。

关于javascript - 从 Controller 或路由访问 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31983154/

相关文章:

JavaScript REGEX 模式匹配

javascript - 错误 : "Too much recursion"

Ember.js 分组结果

ember.js - Emberjs v0.9.7.1 的断言失败错误 - 如果您还指定了模板名称,则无法提供模板 block

json - 如何将来自 REST-API 的 json 数据映射到 ember.js 模型?

javascript - 在 TaffyDB 中使用变量名作为列名

javascript - Node.JS 不同的异步链如何毫无问题地改变共享变量?

jquery - 我如何在一个链接中打开一个循环加载器 4 秒,然后打开一个新页面?

javascript - 在 jQuery 的帮助下防止用户进入 ".next"

jquery - 手机菜单打不开