加载Ember.View的内容时初始化jQuery插件

Jes*_*les 6 jquery view ember.js ember-data

DEBUG: Ember.VERSION : 1.0.0-rc.6 ember.js
DEBUG: Handlebars.VERSION : 1.0.0-rc.4 ember.js
DEBUG: jQuery.VERSION : 1.9.1
Run Code Online (Sandbox Code Playgroud)

控制器是一个Ember.ArrayContoller&内容通过加载DS.RESTAdapter.

这是我想要的代码,但它永远不会被执行.我想controller.content为这个isLoaded事件添加一个观察者.

App.ThumbnailScrollerView = Ember.View.extend({
  tagName: "div",
  didInsertElement: function() {
    return this.get("controller.content").addObserver("isLoaded", function() {
      return $(".jThumbnailScroller").thumbnailScroller();
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

这个代码被执行,但是对于每个对象,我真的只想要它用于最后一个对象. controller.content.@each

App.ThumbnailScrollerView = Ember.View.extend({
  tagName: "div",
  didInsertElement: function() {
    return this.get("controller.content.@each").addObserver("isLoaded", function() {
      return $(".jThumbnailScroller").thumbnailScroller();
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

这也永远不会执行. controller.content.lastObject

App.ThumbnailScrollerView = Ember.View.extend({
  tagName: "div",
  didInsertElement: function() {
    return this.get("controller.content.lastObject").addObserver("isLoaded", function() {
      return $(".jThumbnailScroller").thumbnailScroller();
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

Jer*_*mmi 6

我相信controller.content是ManyArray和ManyArrays没有实现isLoaded.他们有一个isUpdating属性.

模板:

{{#if content.isUpdating}}
  LOADING...
{{else}}
  {{view App.ThumbnailScrollerView}}
{{/if}}
Run Code Online (Sandbox Code Playgroud)

App.ThumbnailScrollerView:

 setupThumbnailScroller: function() {
   this.$('.jThumbnailScroller').thumbnailScroller();
 }.on('didInsertElement')
Run Code Online (Sandbox Code Playgroud)