Dust.js 上下文问题?
Dust.js context issue?
我有以下部分:
<ul class="navbar">
{#nav_links}
<li class="navbar__link {?sub_menu}more{/sub_menu}">
<a href="/{link}">{label}</a>
{?sub_menu}
<ul class="navbar__link--sub">
{#sub_menu}
<li class="navbar__link--sub {?sub_menu}more{/sub_menu}">
<a href="/{link}">{label}</a>
</li>
{/sub_menu}
</ul>
{/sub_menu}
</li>
{/nav_links}
</ul>
与JSON:
{
title: "page title",
nav_links: [
{
link: "home",
label:"Home"
},
{
link: "products",
label:"Products",
sub_menu: [
{link: "link1", label: "Product A"},
{link: "link2", label: "Product B"},
{link: "link3", label: "Products C", sub_menu: [
{link: "link3-1", label: "Sub Product A"},
{link: "link3-2", label: "Sub Product B"}
]},
]
}
]
}
我 运行 遇到的问题是嵌套的 sub_menu 属性,所有子菜单项都会添加 more
class,无论它们是否有嵌套 sub_menu
与否。我认为上下文会像 link
和 label
那样发生变化,但它似乎仍然像第一个条件和部分标签那样引用初始 sub_menu
。我已经在 JSON 和部分标记中重命名了嵌套的 sub_menu
属性 ,然后上下文可以正常工作。有没有办法仍然使用 sub_menu
属性 名称?或者引用 child 属性 例如 sub_menu.sub_menu
?
默认情况下,如果在特定级别找不到键,Dust 将沿着上下文向上移动。但是,您只想明确检查上下文的当前级别。要在 Dust 中执行此操作,请在键前加上一个点:
<li class="navbar__link--sub {?.sub_menu}more{/sub_menu}">
我有以下部分:
<ul class="navbar">
{#nav_links}
<li class="navbar__link {?sub_menu}more{/sub_menu}">
<a href="/{link}">{label}</a>
{?sub_menu}
<ul class="navbar__link--sub">
{#sub_menu}
<li class="navbar__link--sub {?sub_menu}more{/sub_menu}">
<a href="/{link}">{label}</a>
</li>
{/sub_menu}
</ul>
{/sub_menu}
</li>
{/nav_links}
</ul>
与JSON:
{
title: "page title",
nav_links: [
{
link: "home",
label:"Home"
},
{
link: "products",
label:"Products",
sub_menu: [
{link: "link1", label: "Product A"},
{link: "link2", label: "Product B"},
{link: "link3", label: "Products C", sub_menu: [
{link: "link3-1", label: "Sub Product A"},
{link: "link3-2", label: "Sub Product B"}
]},
]
}
]
}
我 运行 遇到的问题是嵌套的 sub_menu 属性,所有子菜单项都会添加 more
class,无论它们是否有嵌套 sub_menu
与否。我认为上下文会像 link
和 label
那样发生变化,但它似乎仍然像第一个条件和部分标签那样引用初始 sub_menu
。我已经在 JSON 和部分标记中重命名了嵌套的 sub_menu
属性 ,然后上下文可以正常工作。有没有办法仍然使用 sub_menu
属性 名称?或者引用 child 属性 例如 sub_menu.sub_menu
?
默认情况下,如果在特定级别找不到键,Dust 将沿着上下文向上移动。但是,您只想明确检查上下文的当前级别。要在 Dust 中执行此操作,请在键前加上一个点:
<li class="navbar__link--sub {?.sub_menu}more{/sub_menu}">