我正在玩一个示例Ember应用程序,该应用程序显示存储在Fixture中的所有数据,最后尝试显示来自灯具的随机数据。
在此完成演示: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')
});
答案 0 :(得分: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。