scala – 在模板中处理条件内容的首选Lift方法是什么?

前端之家收集整理的这篇文章主要介绍了scala – 在模板中处理条件内容的首选Lift方法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在模板中处理条件内容的首选Lift方法是什么?

作为一个具体的例子,让我们想象一下“添加到我的收藏夹”类型按钮的常见结构.如果不在您的收藏夹中,则可以单击按钮添加它.如果已经在您的收藏夹中,则有一个按钮可将其删除.像这样的东西:

<div class="lift:MySnippet">

  <!-- other stuff -->

  <div class="favorite">
    <form id="doFavorite" class="lift:MySnippet.favorite?form=post">
      <input type="submit" value="Add to Favorites" />
    </form>
    <form id="doUnfavorite" class="lift:MySnippet.unfavorite?form=post">
      <input type="submit" value="Remove from favorites" />
    </form>
  </div>

  <!-- other stuff -->

</div>

我没有看到片段中的明显方式(通过绑定或CSS变换器)根据适当的“favited”状态有条件地保留一个表单与另一个表单.

来自Java / SpringMVC / JSP背景,这将通过简单的< c:choose>来解决.声明,但是我花了很多时间试图解决这个问题,我只能假设我完全倒退…

提前谢谢,提升大师!

解决方法

我并不认为自己是电梯大师,但这里有两个对我来说合理的选择:

有一个片段,一个DoOrUndoFavorite,在该片段中,您将检查用户的收藏状态并呈现一个或另一个(if(favorited){…} else {…})表单.

要么

保持您的片段不变,并在每个片段的渲染代码中,如果该片段不应呈现,则返回Nil作为绑定的NodeSeq.

猜你在找的Scala相关文章