Jade/Pug 中包含动态数据的部分模板
Partial template in Jade/Pug with dynamic data
我正在尝试创建包含 2 个块的视图。每个块都有不同的实时数据源。当我在主视图中使用 Jade 的 include 时,:
extends ../layout
block content
link(rel='stylesheet', type='text/css', href='/stylesheets/people.css')
include ../store/peopleTemplate.pug
我收到错误
Cannot read property 'people' of undefined.
原因是数据还在加载中。如果排除那个 include 而不是在恢复数据的函数中使用
res.render(template, { data:localData });
模板未添加到视图中。
如何将来自不同来源的动态数据的 2 个或更多局部视图添加到 1 个视图?谢谢
经过广泛的研究,Pug/Jade 模板引擎不支持动态模板渲染或在一个视图中使用多个部分。在这种情况下,建议使用车把。
您可以使用 mixins 实现此目的。
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
jade 中的语法与 pug 2 中的语法略有不同。
我正在尝试创建包含 2 个块的视图。每个块都有不同的实时数据源。当我在主视图中使用 Jade 的 include 时,:
extends ../layout
block content
link(rel='stylesheet', type='text/css', href='/stylesheets/people.css')
include ../store/peopleTemplate.pug
我收到错误
Cannot read property 'people' of undefined.
原因是数据还在加载中。如果排除那个 include 而不是在恢复数据的函数中使用
res.render(template, { data:localData });
模板未添加到视图中。
如何将来自不同来源的动态数据的 2 个或更多局部视图添加到 1 个视图?谢谢
经过广泛的研究,Pug/Jade 模板引擎不支持动态模板渲染或在一个视图中使用多个部分。在这种情况下,建议使用车把。
您可以使用 mixins 实现此目的。
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
jade 中的语法与 pug 2 中的语法略有不同。