Случайный выбор массива данных с помощью пробелов
Я использую пробелы для создания формы в стиле поп-викторины. Следующий код правильно отображает детали 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}}