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 תגובות »
השאירו תגובה

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


איפה למשל מבריק לי לדחוף? (Durrrr)
תגובה על ידי אייבס Kristopher - 29 ספטמבר 2010 #
שיטה מאוד שימושי, רק להיזהר (לעת עתה) אם אתה משתמש "זה" הפניה בתוך שלך בשיטת לראות http://yuilibrary.com/projects/yui3/ticket/2529327
תגובה על ידי Peloquin ג 'ון - 29 ספטמבר 2010 #
אני מיושם לגרסה YUI להדגיש הבאים הגישה המתוארת ההודעה:
http://gist.github.com/613015
תגובה על ידי סנטיני אלברטו - 6 אוקטובר 2010 #