在Sightly模板语言中,对于Adobe AEM6,如果条件为真,如何使用特定类?
$ {properties.reduceImage}是我的复选框,因此如果选中该复选框,则添加该类,否则它不会返回任何内容。我不确定我是否正确地这样做。
{{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