13

Adobe AEM6 (CQ) の Sightly テンプレート言語で、多くのコード/ロジックを複製することなく、条件が true の場合にのみ要素に属性を追加するにはどうすればよいですか?

例えば

<ul data-sly-list="${items}" ${if condition1} class="selected"${/if}>
    <li${if condition2} class="selected"${/if}>
        Lots of other code here
    </li>
</ul>
4

2 に答える 2

0

ガブリエルの言ったことは完全に正しい。ただし、注意すべき「落とし穴」を追加したかったのです。記録として、私は Sightly テンプレートで、ブール値に基づいて入力要素の「checked」属性の存在を切り替えたいというまったく同じ問題に遭遇していました。私の場合、このブール値はバッキング Use クラスからのものでした。

約 3 ~ 4 時間後、髪を引き抜く寸前になりましたが、「checked」属性を切り替えるために使用していたブール値が、最終的には、私が書いた Sling サービスの activate メソッドで設定されていることに気付きました。私がしている仕事。他のすべては論理的に正しいですが、このブール値を activate() で設定し、必要に応じてゲッターを介して取得していたため、バンドルのアクティベーション時にのみ値が更新され、ビューの最初の更新後に状態が本質的に失われます。ページ。

ばかげていることはわかっていますが、ここで関連性があり、誰かが私のように髪を失う必要がなくなる可能性があるため、それを呼び出したかったのです...

于 2016-09-17T05:24:52.117 に答える