4

フィクスチャに保存されているすべてのデータを表示するサンプル Ember アプリで遊んでいて、最後にフィクスチャからのランダム データを表示しようとしています。

ここで完全なデモ: http://jsbin.com/ifatot/2/edit

すべて正常に動作しますが、Ember データからランダム インデックスを取得できません。その長さを見つけてランダムなインデックスを取得しようとしていますが、そこにデータがあっても、長さは常に 0 になると思います。

関数は次のようになります。

App.ThoughtsController = Ember.ArrayController.extend({
  randomMessage: function() {
    var thoughts = this.get('model');
    var len = thoughts.get('length');
    var randomThought = (Math.floor(Math.random()*len));
    return thoughts.objectAt(randomThought);
  }.property('model')
});
4

1 に答える 1

0

計算されたプロパティlengthに依存する別のプロパティとしてプロパティを追加する必要があります。randomMessageこれにより、コンテンツの解決が完了し、length.

randomMessage: function() {
  var len = this.get('length');
  var randomThought = (Math.floor(Math.random()*len));    
  return this.objectAt(randomThought);
}.property('model', 'length')

これが更新されたjsbinです。

于 2013-07-24T16:49:38.550 に答える