YUI 3 Quick Tipp: Hinzufügen eigener Ehrfürchtige

29. September 2010 um 12.22 Uhr von Eric Miraglia | In Entwicklung | 3 Kommentare

Lukas ( @ 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 ']}); 

Lukas-Kern ist hier .

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

  1. Wo ist das glänzende Beispiel für mich zu schieben? (Durrrr)

    Kommentar von Kristopher Ives - 29. September 2010 #

  2. 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 #

  3. Ich implementierte Version YUI Highlight nach dem Ansatz in der Post beschrieben:

    http://gist.github.com/613015

    Kommentar von Alberto Santini - 6. Oktober 2010 #

Leider ist die Kommentarfunktion zu diesem Zeitpunkt geschlossen.

Hosted by Yahoo!

Copyright © 2006-2012 Yahoo! Inc. Alle Rechte vorbehalten. Datenschutz - Allgemeine Geschäftsbedingungen

Präsentiert von WordPress auf Yahoo! Web Hosting .