Node.js 如何在Swig中使用多个partials?
在我的视图中,Swig不会呈现某些片段。如何通过Node.js 如何在Swig中使用多个partials?,node.js,express,swig-template,Node.js,Express,Swig Template,在我的视图中,Swig不会呈现某些片段。如何通过blocks正确的方法?什么文件应该扩展什么 我的观点是这样的: // files header.html // <- partial header_logo.html // <- partial layout.html // <- layout index.html // <- page header_logo.html如下所示。而这一个没有渲染 {% extends 'layout.html' %}
block
s正确的方法?什么文件应该扩展什么
我的观点是这样的:
// files
header.html // <- partial
header_logo.html // <- partial
layout.html // <- layout
index.html // <- page
header_logo.html如下所示。而这一个没有渲染
{% extends 'layout.html' %}
{% block header_logo %}
... html code goes here ...
{% endblock %}
每个文件只能扩展一个模板。你想做的事情是这样的
扩展index.html
header\u logo.html
扩展header\u logo.html
header.html
扩展header.html
layout.html
index.html
模板中包含header\u logo
,而不是从中扩展。你最好做这样的事
index.html
{% extends 'layout.html' %}
{% block header %}{% include 'header.html' %}{% end block %}
{% block content %}
{% include 'header_logo.html' %}
...
{% endblock %}
使用视图文件夹(ExpressJS)下的文件夹
我在views文件夹下创建了一个partials文件夹
然后从reports.swig模板中引用部分视图,如下所示
{% extends 'layout.swig' %}
{% block content %}
{% for report in reports %}
{% include './partials/displayReports.swig' %}
{% endfor %}
{% endblock %}
谢谢保罗的回答 多谢各位。包括正是我要找的。我不认为这对页眉和页脚都有效。您能否向我们展示您的解决方案如何适用于我们需要在多个区块执行此操作的情况?
{% extends 'layout.html' %}
{% block header_logo %}
... html code goes here ...
{% endblock %}
{% extends 'layout.html' %}
{% block header %}{% include 'header.html' %}{% end block %}
{% block content %}
{% include 'header_logo.html' %}
...
{% endblock %}
{% extends 'layout.swig' %}
{% block content %}
{% for report in reports %}
{% include './partials/displayReports.swig' %}
{% endfor %}
{% endblock %}