YUI 3 עצה מהירה: הוספת משלך Awesome

29 ספטמבר 2010 בשעה 00:22 על ידי אריק Miraglia | ב פיתוח | 3 תגובות

לוק ( @ ls_n ) פורסמה זה קטע בתשובה לשאלה כמה ימים, ואני חשבתי שזה היה שווה את שיתוף כאן עצה מהירה.

כמו עם ניבים מבוססי בורר ביותר, הרבה של כוח הבעה YUI 3 מגיע מה אתה יכול לעשות ברגע שיש לך הפניה או יותר HTMLElements אחד - ב YUI 3, זה אומר שיש התייחסות הצומת, אשר בדרך כלל אתה מקבל באמצעות Y.one( selector string ) או Y.all( selector string ) . אז, Y.one("#foo"). doSomethingInteresting הוא דפוס נפוץ.

קל להרחיב את ההבעה YUI של 3 על ידי הוספת קסם משלך לצומת (ו / או NodeList). הנה דרך אחת לעשות את הסיומת שלך מודולרית הניתנת לשימוש חוזר.

ראשית, ליצור מודול חדש מותאם אישית (אנחנו קוראים לזה node++ ):

  YUI.add ("צומת + +", הפונקציה (Y) {
	
	 / / מגדיר פונקציה כי יפעל בהקשר של
	 / / Node למשל:
	 הפונקציה doSomethingAwesome () {
		 Y.log ("האם משהו מדהים כאן.");
	 }

	 / / להשתמש addMethod להוסיף doAwesomeThing אב טיפוס הצומת:
	 Y.Node.addMethod ("doAwesomeThing", doSomethingAwesome);
	
	 / / להרחיב את הפונקציונליות הזו NodeLists:
	 Y.NodeList.importMethod (Y.Node.prototype, "doAwesomeThing");
	
 }, '0 .0.1 ", {דורש: ['קודקוד']}); 

עיקרו של לוק הוא כאן .

עם ההגדרה כי בדף, node++ ניתן use d בכל מקרה. בקוד היישום שלך, תעשה:

  YUI (). השימוש ("צומת + +", הפונקציה (Y) {
	
	 / / להשתמש מן הצומת יחיד:
         ('Foo # ") Y.one doAwesomeThing ().;

	 / / מן השימוש NodeList:
	 Y.all ('p') doAwesomeThing ().;
	
 }); 

שים לב כי רק במקרה YUI (ים) שאליו לאגד את node++ מודול תהיה גישה doAwesomeThing . תכונה אחת של העיצוב הזה, כי אתה תאהב כמו שאתה בונה Apps מורכבת היא כי יישום ההיגיון שלך לא צריך לשנות אם הרשימה תלות עבור node++ מתפתחת - כי יקבל מטופלים בשבילך אוטומטית בשעה use() זמן, ואת התלות נשארת ההצהרה עם הקוד שהיא נוגעת.

שתף להאריך: הפוך עם del.icio.us | Digg אותו! | reddit!

3 תגובות »

RSS של התגובות לפוסט הזה.

  1. איפה למשל מבריק לי לדחוף? (Durrrr)

    תגובה על ידי אייבס Kristopher - 29 ספטמבר 2010 #

  2. שיטה מאוד שימושי, רק להיזהר (לעת עתה) אם אתה משתמש "זה" הפניה בתוך שלך בשיטת לראות http://yuilibrary.com/projects/yui3/ticket/2529327

    תגובה על ידי Peloquin ג 'ון - 29 ספטמבר 2010 #

  3. אני מיושם לגרסה YUI להדגיש הבאים הגישה המתוארת ההודעה:

    http://gist.github.com/613015

    תגובה על ידי סנטיני אלברטו - 6 אוקטובר 2010 #

השאירו תגובה

הערה: הערות מתווכות על מוני הראשונה. ספאם נמחק.

XHTML: href="" <a title=""> title=""> <acronym <abbr title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

מאוכסן על ידי יאהו!

כל הזכויות שמורות © 2006-2011 יאהו Inc כל הזכויות שמורות. מדיניות פרטיות - תנאי שירות

מופעל על ידי וורדפרס על יאהו! אירוח אתרים .