“细分”中的条件渲染

时间:2011-07-05 22:48:29

标签: spark-view-engine

所以我有以下火花部分

<default extension="null" footer="null" header="null" type="string"/>

<div class="mod ${extension}?{extension != null}">
  <div class="inner">
    <div class="hd ${header}?{header != null}">
      <render segment="hd" />
    </div>

    <div class="bd">
      <render />
    </div>
    <div class="ft ${footer}?{footer != null}">
      <render segment="ft" />
    </div>
  </div> 
</div>

我认为细分非常酷,但我只想在渲染时使用它。也许是这样的:

<default extension="null" footer="null" header="null" type="string"/>

<div class="mod ${extension}?{extension != null}">
  <div class="inner">
    <render segment="hd">
        <div class="hd ${header}?{header != null}">
           <!-- write content here -->
        </div>
    </render>

    <div class="bd">
      <render />
    </div>
   <render segment="ft">
        <div class="ft ${footer}?{footer!= null}">
           <!-- write content here -->
        </div>
    </render>
  </div> 
</div>

用法如:

<mod>
    <p> My content </p>
    <segment name="hd">
        <h1> My Header </h1>
    </segment>
</mod>

基本上我试图让火花只渲染使用的段。在这种情况下,我不希望<div class="ft" />呈现,我希望<h1>包裹<div class="hd">

1 个答案:

答案 0 :(得分:0)

这样的事情对你有用:

<default extension="null" footer="null" header="null" type="string"/>

<div class="mod ${extension}?{extension != null}">
  <div class="inner">
    <div class="hd ${header}" if="header != null">
      <render segment="hd" />
    </div>

    <div class="bd">
      <render />
    </div>
    <div class="ft ${footer}" if="footer != null">
      <render segment="ft" />
    </div>
  </div> 
</div>

如果页眉或页脚为null,则会产生不渲染div的效果。你可以为extension做同样的事情,但我认为你总是想要至少渲染身体,所以我就像你拥有它一样。您可以在Spark中的任何节点上放置if="condition"

我在这里错过了什么吗?

干杯,
罗布