2016-07-27 5 views
1

Я пытаюсь создать представление с двумя блоками. Каждый блок имел разные источники данных в реальном времени. Когда я использую Jade`s включать в главном экране:Частичный шаблон в Jade/Pug с динамическими данными

extends ../layout 

block content 
link(rel='stylesheet', type='text/css', href='/stylesheets/people.css') 
include ../store/peopleTemplate.pug 

Я получаю ошибку

Cannot read property 'people' of undefined. 

Причина заключается в том, потому что данные еще загружаются. Если исключить, что включают и вместо этого в функцию, которая возобновляет использование данных

res.render(template, { data:localData }); 

Шаблон не добавлен в список наблюдения.

Как добавить 2 или более частичные виды с динамическими данными из разных источников в 1 вид? Спасибо

ответ

0

После обширных исследований двигатель Pug/Jade Template не поддерживает динамический рендеринг шаблонов или использование нескольких партикулов в одном представлении. Для этого сценария были рекомендованы рулевые рейки.

2

Вы можете достичь этого с помощью микшинов.

layout.pug

doctype html 
html 
    head 
    ... 
    body 
    block content 

домашних животных-partial.pug

mixin petslist(pets) 
    ul 
    each pet in pets 
     li #{pet} 

pets.pug

extends layout 

include pets-partial 

block content 
    h1 Dogs 
    +petslist(dogs) 

    h1 Cats 
    +petslist(cats) 

https://pugjs.org/language/mixins.html

В нефритовом синтаксисе несколько отличается, чем в мопце 2.

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

  • Нет связанных вопросов^_^