当Ember模板更改时运行jQuery

时间:2014-05-18 01:42:39

标签: javascript jquery ember.js

我的index.html有一个posts模板和一个post模板。帖子模板是一系列链接,可以更改post模板中显示的帖子。我的一些帖子的内容需要使用一些jQuery进行调整。每当post模板中显示的帖子更改为其他帖子时,如何运行jQuery代码?

1 个答案:

答案 0 :(得分:3)

假设您有一个邮政路线,每次为其路线提供新模型时都会运行setupController

App.PostRoute = Ember.Route.extend({
  setupController: function(controller, model){
    this._super(controller, model);

    Ember.run.scheduleOnce('afterRender', function(){
      alert('post has changed, and it\'s been rendered change away');
    });
  }
});

由于这通常让我感到有点内疚(在路线中添加视图逻辑),您可以在控制器上观察模型(从视图或控制器,并且每次模型更改时触发类似的逻辑。您可能需要节流它走这条路线,我很确定它会发射两次,消隐它,并将它设置为另一个项目。

App.PostView = Ember.View.extend({
  watchModel: function(){
    Ember.run.scheduleOnce('afterRender', function(){
      alert('color has changed, and it\'s been rendered change away');
    });

  }.observes('controller.model')
});