2011-12-16 5 views
2

Это мой код в index.jade:Variable в парциальном иначе, чем в родительском шаблоне

- each question in questions 
    - console.log('Question in index.jade: ', question); 
    !=partial('question', question) 

И это мой код в question.jade:

- console.log('Question in question.jade: ', question); 

По некоторым причинам, оба переменных question являются другими. Я что-то делаю глупо?

ответ

3

Вам необходимо поместить переменную question в объект с ключом question и передать это второму параметру частичной функции. Например:

- each question in questions 
    !=partial('question', { question: question }) 

Тогда частичный вид будет иметь доступ к переменной вопроса, которую вы хотите. Кроме того, если вы используете нефрит с курьерским и парциальным этим единственным в своем each цикле, есть сокращенный для этого:

!=partial('question', {collection:questions}) 

Это будет автоматически оказывать частичные один раз для каждого элемента в questions массиве.

+0

Не '! = Partial ('question', question);' сокращенное обозначение '! = Partial ('question', {question: question});'? – Randomblue

+0

Нет, если вы просто передаете переменную 'question', jade не знает, что вы хотите назвать переменной в контексте частичного. – mdellanoce

+1

Примечание: Jade больше не поддерживает этот метод. – backdesk