条件声明

时间:2015-09-11 19:53:49

标签: aem sightly aem-6

在Sightly模板语言中,对于Adobe AEM6,如果条件为真,如何使用特定类?

$ {properties.reduceImage}是我的复选框,因此如果选中该复选框,则添加该类,否则它不会返回任何内容。我不确定我是否正确地这样做。

{{1}}

1 个答案:

答案 0 :(得分:9)

Sightly的表达语言有一些允许这样做的操作符。

在您的情况下,您有两种可能性:条件运算符或逻辑AND(&&)运算符。

条件运算符

此运算符的作用类似data-sly-test,但在表达式的级别。问号(?)之前的条件是条件,然后是两部分,用列(:)分隔。如果条件为真,则第一部分是输出,如果条件为假,则第二部分是输出(在示例中我们将其留空)。

<div class="${properties.reduceImage ? 'reduce-image' : ''}">
</div>

逻辑AND运算符

这篇文章有点短,但也没有明确的意图。它使用像JavaScript一样的事实,$ {value1&amp;&amp; value2}如果是假的则返回value1(例如false或空字符串),否则返回value2:

<div class="${properties.reduceImage && 'reduce-image'}">
</div>

在两个示例中,如果相应的条件为false,则将完全删除class属性,因为Sightly会删除表达式最终为空或假的所有属性。

以下是Sightly表达语言的完整文档:
http://docs.adobe.com/docs/en/aem/6-1/develop/sightly/expression-language.html