YUI 3 Quick Tipp: Hinzufügen eigener Ehrfürchtige
29. September 2010 um 12.22 Uhr von Eric Miraglia | In Entwicklung | 3 KommentareLukas ( @ ls_n ) veröffentlicht diesen Ausschnitt als Antwort auf eine Frage, den anderen Tag, und ich dachte, es war es wert hier als eine schnelle Spitze.
Wie bei den meisten Wähler-basierte Idiome, kommt viel Ausdruckskraft YUI 3 die von dem, was Sie tun können, wenn Sie auf eine oder mehrere HTMLElements haben - in YUI 3, das heißt mit einem Knoten-Referenz, die Sie bekommen in der Regel über Y.one( selector string ) oder Y.all( selector string ) . Also, Y.one("#foo"). doSomethingInteresting ist ein gemeinsames Muster.
Es ist einfach, YUI 3 Ausdruckskraft, indem Sie eigene Magie, um Knoten (und / oder NodeList) zu verlängern. Hier ist eine Möglichkeit, um Ihren Erweiterung modular und wiederverwendbar.
Erstellen Sie zunächst ein neues benutzerdefiniertes Modul (wir nennen es node++ ):
YUI.add ("Knoten + + ', function (y) { / / Eine Funktion definieren, die im Rahmen eines Laufs wird / / Node-Instanz: Funktion doSomethingAwesome () { Y.log ("Tun Sie etwas genial hier."); } / / Verwenden, um addMethod doAwesomeThing dem Knoten Prototyp hinzuzufügen: Y.Node.addMethod ("doAwesomeThing", doSomethingAwesome); / / Erweitern diese Funktionalität zu Nodelisten: Y.NodeList.importMethod (Y.Node.prototype "doAwesomeThing"); }, '0 .0.1 ', {Erfordert: [' Knoten ']});
Mit dieser Definition auf der Seite, node++ kann use d in jeder Instanz. In Ihrer Implementierung Code, würden Sie tun:
YUI (). Nutzung ("Knoten + + ', function (y) { / / Aus einem einzigen Knoten zu verwenden: . Y.one ('# foo') doAwesomeThing (); / / Aus einer NodeList verwenden: Y.all ('p') doAwesomeThing ().; });
Beachten Sie, dass nur die YUI-Instanz (en), zu dem Sie Ihre binden node++ -Modul Zugriff haben doAwesomeThing . Ein Merkmal dieser Konstruktion, die Sie gerne, wie Sie komplexe Anwendungen zu bauen, ist, dass Ihre Implementierung Logik nicht ändern müssen, wenn die Liste der Abhängigkeiten für node++ entwickelt sich - das wird für Sie automatisch gehandhabt zu werden bei use() Zeit, und die Abhängigkeit Erklärung bleibt mit dem Code auf die sie sich bezieht.
Teilen und zu erweitern: Lesezeichen mit del.icio.us | Digg it! | reddit!
3 Kommentare
Leider ist die Kommentarfunktion zu diesem Zeitpunkt geschlossen.

Copyright © 2006-2012 Yahoo! Inc. Alle Rechte vorbehalten. Datenschutz - Allgemeine Geschäftsbedingungen
Präsentiert von WordPress auf Yahoo! Web Hosting .

Wo ist das glänzende Beispiel für mich zu schieben? (Durrrr)
Kommentar von Kristopher Ives - 29. September 2010 #
Eine sehr nützliche Methode, nur vorsichtig sein (bis jetzt), wenn Sie mit der "this" Referenz sind innerhalb Ihrer Methode-siehe http://yuilibrary.com/projects/yui3/ticket/2529327
Kommentar von John Peloquin - 29. September 2010 #
Ich implementierte Version YUI Highlight nach dem Ansatz in der Post beschrieben:
http://gist.github.com/613015
Kommentar von Alberto Santini - 6. Oktober 2010 #