YUI 3 Sugerencia rápida: Agregar tu propio diseño impresionante
29 de septiembre de 2010 a las 24:22 por Eric Miraglia | En Desarrollo | 3 comentariosLucas ( @ ls_n ) publicó este fragmento de código en respuesta a una pregunta el otro día, y pensé que valía la pena compartir aquí como un consejo rápido.
Como con la mayoría de selección basado en expresiones idiomáticas, una gran cantidad de poder expresivo YUI 3 proviene de lo que puede hacer una vez que tenga referencia a uno o más HTMLElements - en YUI 3, que significa tener un nodo de referencia, lo que usted consigue generalmente a través de Y.one( selector string ) o Y.all( selector string ) . Por lo tanto, Y.one("#foo"). doSomethingInteresting es un patrón común.
Es fácil de ampliar la expresividad YUI 3 mediante la adición de su propia magia al nodo (y / o lista de nodos). Aquí está una manera de hacer que su extensión modular y reutilizable.
En primer lugar, crear un nuevo módulo personalizado (lo llamaremos node++ ):
YUI.add ("nodo + + ', function (Y) { / / Define una función que se ejecutará en el contexto de un / / Instancia de Node: doSomethingAwesome function () { Y.log ("¿Es algo impresionante aquí."); } / / Usar addMethod añadir doAwesomeThing al prototipo de nodo: Y.Node.addMethod ("doAwesomeThing", doSomethingAwesome); / / Extender esta función a NodeLists: Y.NodeList.importMethod (Y.Node.prototype, "doAwesomeThing"); }, '0 .0.1 ', {Requiere: [' nodo ']});
Con esa definición en la página, node++ se puede use en ningún caso d. En el código de la aplicación, puede hacer:
YUI (). Uso ("nodo + + ', function (Y) { / / Uso de un único nodo: . Y.one ('# foo') doAwesomeThing (); / / Usar de una lista de nodos: Y.all ('p') doAwesomeThing ().; });
Tenga en cuenta que sólo la instancia YUI (s) a la que se unen el node++ módulo tendrá acceso a doAwesomeThing . Una característica de este diseño que te gusta como a construir aplicaciones complejas es que la lógica de su aplicación no tendrá que cambiar si la lista de dependencias para node++ evoluciona - que se gestionan de forma automática en el use() el tiempo, y la dependencia la declaración se queda con el código a la que pertenece.
Compartir y ampliar: Marcar página con del.icio.us | Digg It! | reddit!
3 comentarios
Disculpa, los comentarios están cerrados en este momento.

Copyright © 2006-2012 Yahoo! Inc. Todos los derechos reservados. Política de privacidad - Condiciones del servicio
Desarrollado por WordPress en Yahoo! Web Hosting .

¿Dónde está el ejemplo brillante para mí para empujar? (Durrrr)
Comentario por Ives Kristopher - 29 de septiembre 2010 #
Un método muy útil, pero tenga cuidado (por ahora) si usted está utilizando el 'esto' de referencia dentro de su método de ver http://yuilibrary.com/projects/yui3/ticket/2529327
Comentario por John Peloquin - 29 de septiembre 2010 #
He implementado la versión más destacado YUI según el procedimiento descrito en el post:
http://gist.github.com/613015
Comentario por Alberto Santini - 06 de octubre 2010 #