Wie verwende ich die Lambda-Operatoren von Google Blogger?

Google Blogger hat eine neue Gruppe von Lambda-Ausdrucksoperatoren für seine Vorlagensprache implementiert. Sehen:https: //blogger.googleblog.com/2016/05/more-custom-template-flexibility.htm undhttps: //productforums.google.com/forum/#! topic / blogger / l3phi8bscGY .

Der angegebene Beispielcode (das b: if / modified) lautet:

<!-- Show a Flower image if the post has the label flower -->
<b:if cond='data:post.labels any (l => l.name == "Flower")'>
  <img src=’/img/flower.jpg’ />
</b:if>

Ich kann nicht herausfinden, wie dies in einer Vorlage funktioniert. Würde jemand bitte einen Arbeitscode bereitstellen, den ich in eine Vorlage einfügen könnte und der funktioniert?

UPDATE: Das scheint zu funktionieren. Aber wie oder kann ich die Schleife entfernen?

<b:section class='Test1' id='Test1' maxwidgets='' showaddelement='no'>
    <b:widget id='Blog2' locked='true' title='Blog Posts' type='Blog' version='1' visible='true'>
        <b:includable id='main'>

            <b:loop values='data:posts' var='post'>
                <h1>Post found</h1>

                <b:if cond='data:post.labels any (label  => label.name == "flower")'>
                    <h1>Flower!</h1>
                </b:if>

            </b:loop>
        </b:includable>
    </b:widget>
</b:section>

Zum Beispiel, wenn ich die Schleife entferne und durch Folgendes ersetze:

<b:if cond='data:posts any (p  => p.title  != "bob")'>                  
    <h1>Post found</h1>           
</b:if>>

Es wird nur ein Beitrag gefunden, wenn ich mehrere Beiträge habe, von denen keiner bob heißt! Ich habe versucht, den Lambda-Operator ohne Änderung von "any" auf "filter" umzustellen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage