我试图让这段代码工作:
<f:if condition="{item.spacer} || {item.current}">
<f:then>
<li class="{f:if(condition:item.current, then:'nav-item active')}{f:if(condition:item.spacer, then:'nav-item spacer')}">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:then>
<f:else if="{item.children} && {item.active}">
<li class="nav-item dropdown active">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else if="{item.children}">
<li class="{f:if(condition:item.children, then:'nav-item dropdown')}">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else if="{item.active}">
<li class="{f:if(condition:item.active, then:'nav-item active')}">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else>
<li class="nav-item">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
</f:if>
li-tag随后在父部分中关闭。唯一不起作用的是第一个其他的组合条件。 Altough item.children和item.active为true,仅呈现由item.active组成的条件。我在这做错了什么?
谢谢,乔纳森
活动MenuItems具有current = 1和active = 1。在第一个If条件中,检查当前电流,如果= 1,则执行以下'then'。在此之后,没有其他人被检查,因此,它不起作用。由于我不需要{item.spacer} || {item.current}
,这段代码适合我:
<f:if condition="{item.children} && {item.active}">
<f:then>
<li class="nav-item dropdown active">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:then>
<f:else if="{item.children}">
<li class="nav-item dropdown">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else if="{item.active}">
<li class="nav-item active">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else if="{item.spacer}">
<li class="nav-item spacer">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else>
<li class="nav-item">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
</f:if>