Как пробежаться по переданному объекту при компиляции jade?

Добрый вечер!
Не могу разобраться, как мне пробежаться по переданному в jade объекту.
Если брать простой объект:
{
  "img": imgPath + "toaster.jpg",
  "name": "Тостер",
  "desc": "Суперский тостер, купив его один раз в жизни, Вы больше никогда не будете задумываться о его замене.",
  "price": 100
}

То доступ в jade компиляторе прост:
span= name
Но мне этого мало. У меня двухуровневый объект:
{
  "first": {
    "img": imgPath + "toaster.jpg",
    "name": "Тостер",
    "desc": "Суперский тостер, купив его один раз в жизни, Вы больше никогда не будете задумываться о его замене.",
    "price": 100
  },
  "1": {
    "img": imgPath + "waffle-iron.jpg",
    "name": "Вафельница",
    "desc": "Чудо вафельница, позволит Вам наслаждаться чудесными вафлями, вкус которых, Вы не забудите никогда.",
    "price": 150
  }
}

Вот как по нему пробежаться, не пойму.
Пробовал:
- for (var item in store)
    span= item.name или span= store.item.name // разными способами

Потом понял, что переменной store, не существует, так как передается чистый объект:
store = getStore();
fn = jade.compileFile('../src/test.jade', {});
html = fn(store);

Вопрос: Как пробежаться по сложному объекту в компиляторе, либо как загнать переданный в компилятор объект в переменную, чтобы дальше использовать for или each.
  • Вопрос задан
  • 347 просмотров
Решения вопроса 1
slavikse
@slavikse Автор вопроса
ОТВЕТ:
В node пробегаемся по объекту (for in), и отдаем примитивы из сложного объекта:
for (var item in store) {
  html = fn(store[item]);
}

"img": imgPath + "waffle-iron.jpg",
"name": "Вафельница",
"desc": "Чудо вафельница, позволит Вам наслаждаться чудесными вафлями, вкус которых, Вы не забудите никогда.",
"price": 150

Таким образом html = fn(store[item]);.
В jade, span= name.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы