Wie kann ich zuverlässig feststellen, ob das übergeordnete Vorlagenelement leer ist oder nicht in der Jquery-Vorlage?

  • Ich verwende jQuery-Vorlagen, um einen Baum zu erstellen. Es funktioniert soweit sehr gut, aber ich bin auf ein Problem gestoßen, als ich versuchte herauszufinden, ob sich ein Element auf der Root-Ebene befindet oder nicht.

    Ich verwende eine Vorlage, die der von render ähnelt Baumelemente:

     <script id="tree-row-tmpl" type="text/x-jquery-tmpl">
    <li>
        <div class="row ${NodeType}">
            <a href="#">${Name}</a>
        </div>
        {{if expanded}}
            <ul>
                {{tmpl($data.chidren || []) "#tree-row-tmpl"}}
            </ul>
        {{/if}}
    </li>
    </script>
     

    Jetzt im Link click -Handler versuche ich, den Wurzelknoten zu ermitteln:

     if($.tmplItem(this).parent)
     

    Es stellte sich heraus, dass der Stamm tmplItem.parent (wie ich erwartet hatte) nicht null ist, sondern ein Objekt mit zwei enthält Eigenschaften: {data:{}, key:0}. Ich sehe, dass ich item.parent.parent oder eine der Eigenschaften überprüfen kann, die im regulären tmplItem vorhanden sind und im Stammobjekt fehlen. Aber das scheint mir eine Art Hack zu sein - ich würde es vorziehen, eine "offizielle" Methode zu finden, um eine tmplItem zu überprüfen, ob sie leer oder gültig ist.

    22 November 2011
    Jasper
0 answers