銳3快速提示:添加您自己的真棒

2010年9月29日在下午12點22分由Eric米拉利亞|在發展 | 3評論

盧克( @ ls_n )張貼了這個片段在回答記者提問有一天,我認為這是值得分享這裡作為一個快速提示。

與大多數選擇為基礎的成語,很多銳3的表現力量來自你可以做什麼,一旦你有一個或多個引用HTMLElements -銳3,這意味著有一個節點的引用,你通常會得到通過Y.one( selector string )Y.all( selector string ) 因此, Y.one("#foo"). doSomethingInteresting是一種常見的模式。

它易於擴展銳 3的表現,加入你自己的魔法到節點(和/或的NodeList)。 這裡有一種方法讓你的擴展模塊化和重用。

首先,創建一個新的自定義模塊(我們稱之為node++ ):

  YUI.add('節點 + +',函數(Y){
	
	 / /定義一個函數,將在上下文中運行的一
	 / /節點的實例:
	功能doSomethingAwesome(){
		 Y.log(“做點這裡真棒。”);
	 }

	 / /使用addMethod添加doAwesomeThing到節點原型:
	 Y.Node.addMethod(“doAwesomeThing”,doSomethingAwesome);
	
	 / /將此功能擴展到NodeLists:
	 Y.NodeList.importMethod(Y.Node.prototype,“doAwesomeThing”);
	
 },'0 .0.1',{要求:['節點']}); 

盧克的要點就在這裡

與該網頁上的定義, node++可以use D的任何實例。 在您的實現代碼,你會做:

 銳()。使用('節點 + +',函數(Y){
	
	 / /使用一個單一的節點:
         Y.one('#富')。doAwesomeThing();

	 / /使用一個節點列表:
	 Y.all(的'p')。doAwesomeThing();
	
 }); 

請注意,只有銳實例(s)到你綁定你的node++模塊將有機會獲得doAwesomeThing 這種設計的一個特徵,你會喜歡你構建複雜的應用程序實現邏輯是,你不需要改變,如果依賴目錄node++演變-那你將得到處理好的自動在use()時間,而且依賴申報代碼,以保持與它涉及。

共享和擴展: 書籤和書籤 | Digg它! | reddit!

3評論»

RSS提要的評論這篇文章。

  1. 哪裡有光澤榜樣,我推? (Durrrr)

    評論由克里斯托弗艾夫斯 - 2010年9月29日

  2. 一個非常有用的方法,只是要小心(現在)如果您使用的是'這個'內部參考你的方法,見http://yuilibrary.com/projects/yui3/ticket/2529327

    評論由約翰佩洛昆- 2010年9月29日

  3. 我實現了銳突出以下版本中所描述的方法後:

    http://gist.github.com/613015

    評論由阿爾貝托桑蒂尼 - 2010年10月6日

發表評論

注:意見進行審核的第一次出國。 垃圾郵件刪除。

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

主辦單位雅虎

版權所有© 2006-2010雅虎公司保留所有權利。 隱私權政策 - 服務條款

本站由WordPress的關於雅虎 虛擬主機