【问题标题】:EmberJS - generate random object in array of objectsEmberJS - 在对象数组中生成随机对象
【发布时间】:2014-12-04 06:00:26
【问题描述】:

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

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

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'
    }
];

【问题讨论】:

  • 您想从数组中选择一个随机对象并渲染到把手中吗?还是随机打乱数组并显示整个数组?

标签: ember.js handlebars.js


【解决方案1】:

您可以使用车把来实现这一点。 将模型传递给 handlebars 函数,然后使用一点 JavaScript 魔法,从数组中选择一个随机对象,然后进行渲染。

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

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

而你就是这样调用helper方法的——

{{ randomize model}}

Demo

每次刷新或点击route时都会返回一个随机对象

【讨论】:

    猜你喜欢
    • 2014-05-13
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 2015-03-26
    • 2015-07-30
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多