2014-12-04 94 views
1

我有一个按钮,点击后在我的Ember站点中加载一条新路线并返回一个对象数组。我想要做的就是设置它,以便单击此按钮会导致该数组中的随机对象在模板中呈现。这样用户每次点击都可以得到不同的结果。我不知道如何告诉它选择一个随机索引并将其呈现在我的句柄模板中。任何帮助,将不胜感激。我对Ember很新。EmberJS - 在对象数组中生成随机对象

这是我的路线正在被加载(但不显示内容):

App.GenerateRoute = Ember.Route.extend({ 
    model: function(){ 
     return App.GENERATE; 
    } 
}); 


App.GENERATE = [ 
    { 
    id: 1, 
    word: //word here, 
    language: //language here', 
    trans: //translation here' 
    }, 
    { 
    id: 2, 
    word: //word here, 
    language: //language here', 
    trans: //translation here' 
    }, 
    { 
    id: 3, 
    word: //word here, 
    language: //language here', 
    trans: //translation here' 
    } 
]; 
+0

要选择一个数组中的随机对象并呈现为把手?或随机随机混合并显示整个数组? – Ajey 2014-12-04 07:03:08

回答

2

你可以使用车把实现这一目标。 将模型传递给把手功能,然后用一点JavaScript魔术,从数组中选择一个随机对象,然后渲染。

Ember.Handlebars.helper('randomize', function(myArray, options) { 

    return myArray[Math.floor(Math.random() * myArray.length)].id; 
}); 

你调用这个方法辅助方法 -

{{ randomize model}} 

Demo

随机对象返回每次刷新时间或打route

+0

真棒!谢谢!欢迎您来到 – purcelllj 2014-12-04 08:38:44

+0

.. – Ajey 2014-12-04 09:12:30