6
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

コントローラは であり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();
    });
  }
});

このコードは実行されますが、オブジェクトごとに 1 回実行されますが、実際には最後のオブジェクトに対してのみ必要です。controller.content.@each

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

これも決して実行されません。controller.content.lastObject

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

2 に答える 2

6

私は ManyArray であると信じてcontroller.contentおり、ManyArrays は isLoaded を実装していません。isUpdating プロパティがあります。

テンプレート:

{{#if content.isUpdating}}
  LOADING...
{{else}}
  {{view App.ThumbnailScrollerView}}
{{/if}}

App.ThumbnailScrollerView:

 setupThumbnailScroller: function() {
   this.$('.jThumbnailScroller').thumbnailScroller();
 }.on('didInsertElement')
于 2013-07-25T20:52:02.880 に答える