2016-12-02 1 views
0

저는 스페이스 바를 사용하여 팝 퀴즈 스타일 양식을 생성하고 있습니다. 다음 코드는 제대로 퀴즈 배열스페이스 바를 사용하여 배열 데이터를 임의로 선택

{{#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}} 

에 3 항목의 세부 사항을 표시하고 다음과 같은 도우미 함수가 제대로

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

이제 퀴즈 배열의 항목 수에서 난수를 생성하는 것 난 할 노력하고있어 무작위로 퀴즈를 표시하는 난수 생성기를 사용하는

{{#with quiz.[2]}} 

를 얻을 수있다. 논리적으로 나는

{{#with quiz.[randomNumber]}} 

같은 것을하고 싶어하지만 대신 임의의 숫자 자체의 quiz 배열의 임의 요소를 반환 그냥 도우미 약간의 조정 분명히

답변

1

작동하지 않습니다

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

다음으로 참조하십시오. {{#with randomElement quiz}}

+0

kyou! 저에게 정확한 결과를 가져다줍니다! 그래도 콘솔 오류가 발생합니다. "템플릿 도우미의 예외 : TypeError : '길이가 정의되지 않은'속성을 읽을 수 없습니다. –

+0

누락 된 배열을 방지하는 업데이트 된 코드를 참조하십시오. 누락 된 배열은 구독이 아직 준비되지 않은 경우에 자주 발생할 수 있습니다. –

관련 문제