YUI 3 تلميح سريع : ممتاز إضافة الخاصة بك

29 سبتمبر 2010 في 12: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 ('عقدة + +" ، وظيفة (ص) {
	
	 / / تعريف الدالة التي سيتم تشغيلها في سياق
	 / / عقدة سبيل المثال :
	 doSomethingAwesome الدالة () {
		 Y.log ("هل شيء رائع هنا.") ؛
	 }

	 / / استخدام addMethod doAwesomeThing إضافة إلى النموذج عقدة :
	 Y.Node.addMethod ("doAwesomeThing" ، doSomethingAwesome) ؛
	
	 / / تمتد هذه الوظيفة لNodeLists :
	 Y.NodeList.importMethod (Y.Node.prototype "doAwesomeThing") ؛
	
 } ، '0.0.1' ، {يتطلب : ['عقدة']}) ؛ 

جوهر لوقا هو هنا .

مع هذا التعريف على الصفحة ، node++ يمكن use في أي حال د. في تنفيذ التعليمات البرمجية الخاصة بك ، يمكنك القيام به :

  YUI (). استخدام ('عقدة + +" ، وظيفة (ص) {
	
	 / / استخدامه من عقدة واحدة :
         . Y.one ('# فو') doAwesomeThing () ؛

	 / / استخدام من NodeList :
	 . Y.all ('ع') doAwesomeThing () ؛
	
 }) ؛ 

علما بأن فقط مثيل YUI (ق) التي قمت بربط الخاص node++ وحدة سوف يكون الوصول إلى doAwesomeThing . ميزة واحدة من هذا التصميم أن عليك مثل ما كنت بناء تطبيقات معقدة ، ان المنطق الخاص بتنفيذ لن تحتاج إلى تغيير إذا كانت قائمة على التبعية node++ تتطور -- التي سوف تحصل لك التعامل معها تلقائيا عند use() مرة ، والتبعية إعلان إقامة برمز الذي تتعلق به.

وتوسيع حصة : المرجعية مع متواجد حاليا | مراجعته ذلك! | reddit!

3 تعليقات

  1. أين هو مثال لامعة بالنسبة لي لدفع؟ (Durrrr)

    تعليق ايفيس كريستوفر -- 29 سبتمبر 2010 #

  2. وهناك طريقة مفيدة للغاية ، وأن يكون عادلا حذرا (الآن) إذا كنت تستخدم 'هذا' مرجع داخل الأسلوب الخاص الترقب http://yuilibrary.com/projects/yui3/ticket/2529327

    تعليق Peloquin جون -- 29 سبتمبر 2010 #

  3. أنا نفذت YUI الإصدار التالي تسليط الضوء على النهج الوارد وصفها في آخر :

    http://gist.github.com/613015

    تعليق بواسطة البرتو سانتيني -- 6 أكتوبر 2010 #

آسف ، يتم إغلاق النموذج تعليق في هذا الوقت.

استضافته ياهو

حقوق الطبع © 2006-2012 شركة ياهو جميع الحقوق محفوظة سياسة الخصوصية -- شروط الخدمة

مدعوم من وورد على ياهو! استضافة المواقع .