我想在包含的文件中使用@NgModule({
declarations: appComponents.concat(auxComponents),
imports: [
// theirs
BrowserModule,
HttpClientModule,
AppRoutingModule,
// ours
SharedModule,
CoursesModule
],
bootstrap: [
AppComponent
]
})
export class AppModule { }
循环,以避免重复创建循环数组的逻辑(这是一个{% for %}
,其中有多个assign
)。
但是我想根据包含循环的位置使用不同的内容,所以有时我会这样做:
where_exp
有时:
{% for i in a %}
<li>{{ i.name }}</li>
{% endfor %}
我该如何实现?到目前为止,我必须将每个内部内容放在自己的模板中,这样我将拥有以下文件,但我想避免多余的{% for i in a %}
<loc>{{ i.url }}</loc>
{% endfor %}
文件,而只将这些内容保留在适当的{{ 1}}文件:
html_template.html:
template
xml_template.xml:
main
page_loop.html:
<li>{{ i.name }}</li>
html_main.html:
<loc>{{ i.url }}</loc>
xml_main.xml:
{% assign a = "logic I don't want to repeat" %}
{% for i in a %}
{% include {{ include.inner_template }} %}
{% endfor %}
答案 0 :(得分:2)
这可能是另一个优雅(?)解决方案,用于开发插件,但可以在_includes/page_loop.html
中快速修改代码:
{% assign a = "something" %}
{% for i in a %}
{%if include.type == "name"%}
<li>{{ i.name }}</li>
{%else if include.type == "url"%}
<loc>{{ i.url }}</loc>
{%endif %}
{% endfor %}
然后,每次您包含page_loop.html
时,都要传递一个附加参数,以指定所需的输出类型:
{% include page_loop.html type="name" %}
或
{% include page_loop.html type="url" %}