Случайный выбор массива данных с помощью пробелов

Я использую пробелы для создания формы в стиле поп-викторины. Следующий код правильно отображает детали 3-го элемента в массиве викторины

{{#with quiz.[2]}}
    <form class="testForm">
        <br>
        {{question}}<br>
        {{#each answer}}
        <input type="radio" name="multipleChoice" value={{this}}>{{this}}<br>
        {{/each}}
        <br>
        <input type="submit" value="Submit"> 
        <br><br><br>
    </form>
{{/with}}

и следующая вспомогательная функция правильно генерирует случайное число из числа элементов в массиве викторины

Template.templateName.helpers({
  randomNumber() {
    return _.random(0, (this.quiz.length - 1));
  }
});

Теперь, что я пытаюсь сделать, это получить

{{#with quiz.[2]}}

использовать этот генератор случайных чисел для случайного отображения викторины. Логически я хочу сделать что-то вроде

{{#with quiz.[randomNumber]}}

но это не работает, очевидно,

1 ответ

Решение

Просто настройте ваш помощник немного, чтобы вернуть случайный элемент quiz массив вместо самого случайного числа:

Template.templateName.helpers({
  randomElement(array) {
    return array && array[_.random(0, (array.length - 1))];
  }
});

Тогда просто обратитесь к нему как: {{#with randomElement quiz}}

Другие вопросы по тегам