Javascript Ember.js在模板呈现时加载jquery(无刷新)

Javascript Ember.js在模板呈现时加载jquery(无刷新),javascript,jquery,ember.js,Javascript,Jquery,Ember.js,我已经创建了一个ember.js模板(about.hbs)。我想在页面上运行一些jQuery,但jQuery只有在重新加载页面时才起作用 我并没有真正理解在呈现模板时如何使用jQuery代码使其运行。现在我已经把它放在控制器里了 App.AboutController = Ember.ObjectController.extend({ $(document).ready(function() { //my jquery code });

我已经创建了一个ember.js模板(about.hbs)。我想在页面上运行一些jQuery,但jQuery只有在重新加载页面时才起作用

我并没有真正理解在呈现模板时如何使用jQuery代码使其运行。现在我已经把它放在控制器里了

   App.AboutController = Ember.ObjectController.extend({
       $(document).ready(function() {
         //my jquery code
       });
    });

有人能帮我吗

您将需要执行生命周期回调()。呈现模板时,Ember将触发
didInsertElement
回调。您只需将自己的代码添加到此函数中,如果您想在该回调中使用任何jQuery,您必须记住范围:
this.$()

您的代码如下所示:

didInsertElement: function(){
  this.$() //jquery code
}

这不是有效的JavaScript。那么它是否会出现在控制器中?我有下面的代码,但它似乎仍然不起作用。App.avootcontroller=Ember.ObjectController.extend({didInsertElement:function(){this.$()//Launch Intro$(document).ready(函数(e){$('#launchIntro').on('touchstart click',function(){$('.Intro overlay').fadeOut();$('#Intro slider slider.fadeIn();});}});或者这就是进入控制器的方式?这似乎也不起作用
didInsertElement:function(){this.$('.intro overlay').fadeOut();}
didInsertElement
是视图和组件的回调。与DOM交互的代码应该放在视图中,组件是视图的一种类型。