2014-11-24 7 views
1

Не уверен, что я делаю неправильно здесь ..Передача массива из Node.js/выразить шаблон нефрита

questions.js

questions = []; 
    questions.AA = 'First' 
    questions.BB = 'Second' 
    questions.CC = 'Third' 
    res.render('questions', { title: questions[CC], questions: questions }); 

questions.jade

extends layout 

block content 
    h1= title 
    p #{questions.CC} 
    each question in questions 
    p= question 

Вынесено

<body> 
<h1>Third</h1> 
<p>Third</p> 
</body> 

So

each question in questions 
    p= question 

Кажется, что не работает, как я ожидал. Что мне не хватает?

ответ

1

Вы создали массив, а затем сохранили значения в алфавитном индексе, а не целочисленные индексы. Таким образом, each не будет пересекать их. Вы, наверное, имели в виду, чтобы определить questions так:

questions = [] 
questions[0] = 'First' 
questions[1] = 'Second' 
questions[2] = 'Third' 

Или, идиоматически:

questions = [ 
    'First', 
    'Second', 
    'Third' 
] 

Вы должны понять что-то, чтобы заменить, как вы получаете title, но это должно исправить петля.

Смежные вопросы