【问题标题】:Conditional rendering in "Segments"“段”中的条件渲染
【发布时间】:2011-07-05 22:48:28
【问题描述】:

所以我有以下火花部分

<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>

基本上,我试图让 spark 只渲染使用的片段。在这种情况下,我不希望 &lt;div class="ft" /&gt; 呈现,我希望 &lt;h1&gt;&lt;div class="hd"&gt; 包裹

【问题讨论】:

    标签: spark-view-engine


    【解决方案1】:

    这样的事情对你有用吗:

    <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>
    

    如果页眉或页脚为空,这将产生根本不呈现 div 的效果。当然,你可以对extension 做同样的事情,但我假设你总是想至少渲染身体,所以我把它留给你原来的样子。您可以在 Spark 中的任何节点上放置 if="condition"

    我错过了什么吗?

    干杯,

    【讨论】:

      猜你喜欢
      • 2019-02-21
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 2021-08-01
      • 2020-10-12
      • 2012-11-28
      相关资源
      最近更新 更多