在模板中处理条件内容的首选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>
Run Code Online (Sandbox Code Playgroud)
我没有看到片段中的明显方式(通过绑定或CSS变换器)根据适当的"favited"状态有条件地保留一个表单与另一个表单.
来自Java/SpringMVC/JSP背景,这将通过一个简单的<c:choose>声明来解决,但是我花了很多时间试图解决这个问题,我只能假设我完全倒退了......
提前谢谢,提升大师!
我并不认为自己是电梯大师,但这里有两个对我来说合理的选择:
有一个片段,一个片段,DoOrUndoFavorite在该片段中,您将检查用户的收藏状态并呈现一个或另一个(if(favorited){...} else{...})表单.
要么
保持您的片段不变,并在每个片段的渲染代码中,如果该片段不应呈现,则返回a Nil作为NodeSeq绑定.
| 归档时间: |
|
| 查看次数: |
916 次 |
| 最近记录: |