YUI 3 빠른 팁 : 나만의 굉장 추가

2010년 9월 29일 오후 12시 22분에서 에릭 Miraglia에 의해 |에 개발 | 3 개의 댓글

루크는 ( @ ls_n ) 질문 저번에 대한 응답으로이 인간을 게시하고, 나는 그것이 빠른 제보로 여기에 공유하는 가치라고 생각.

YUI 3에, 당신은 보통 통해 얻을 노드 참조, 갖는 의미 - 대부분의 선별 기반 숙어와 마찬가지로, YUI 3의 표현 능력이 많이 사용하면 하나 이상의 HTMLElements에 대한 참조가되면 뭘 할 수에서 유래 Y.one( selector string ) 또는 Y.all( selector string ) . 따라서 Y.one("#foo"). doSomethingInteresting 일반적인 패턴입니다.

그것은 (그리고 / 또는 NodeList) 노드에게 자신의 마술을 추가하여 YUI 3의 표현력을 확장하기 용이합니다. 다음은 확장 기능이 모듈화 및 재사용하게 한 방법입니다.

첫째, 새 사용자 지정 모듈을 만들려면 (우리가 소위 node++ ) :

  YUI.add ( '노드 + +', 함수 (Y) {
	
	 / /의 컨텍스트에서 실행됩니다 함수를 정의
	 / / 노드 인스턴스 :
	 함수 doSomethingAwesome () {
		 Y.log ( "여기서 끝내 뭔가를 해주세요.");
	 }

	 / / 노드 프로토 타입에 doAwesomeThing를 추가할 ad​​dMethod를 사용
	 Y.Node.addMethod ( "doAwesomeThing", doSomethingAwesome);
	
	 / / NodeLists에이 기능을 확장할 수 :
	 Y.NodeList.importMethod (Y.Node.prototype, "doAwesomeThing");
	
 }, '0 .0.1 ', {필요합니다 : ['노드 ']}); 

루크의 요점은 여기입니다 .

페이지에서 해당 정의를 통해 node++use 모든 인스턴스에서 D를. 구현 코드에서, 당신은 할 것이다 :

  YUI ()를 사용한다. ( '노드 + +', 함수 (Y) {
	
	 / / 하나의 노드에서 사용
         . Y.one ( '# foo는') doAwesomeThing ();

	 / / NodeList에서 사용
	 Y.all ( 'P') doAwesomeThing ().;
	
 }); 

오직 YUI 인스턴스 (들)이있는 당신의 바인딩합니다 node++ 모듈에 접근합니다 doAwesomeThing . 당신은 복잡한 애플 리케이션을 구축하면서 좋아하는 거라고 이러한 디자인 중 하나는 기능은 구현 로직은 변경할 필요가 없다는 점입니다 경우에 대한 종속성 목록에 node++ 진화 -에서 자동으로 처리받을 것이다 use() 시간 및 종속성 선언은 관계된하는 코드와 함께 유지됩니다.

공유하고 확장할 수 : del.icio.us에 북마크 | 디그 그것! | reddit!

3 개의 댓글

  1. 나를 밀어하기 위해 반짝 예제는 어디에 있습니까? (Durrrr)

    댓글 작성자 크리스토퍼 아이브스 - 2010년 9월 29일 #을

  2. 당신의 내부에 '이'참조를 사용하는 경우 매우 유용한 방법은, 그냥 (현재까지는)주의 방법 - 볼 http://yuilibrary.com/projects/yui3/ticket/2529327

    존 Peloquin에 의해 코멘트 - 2010년 9월 29일 #을

  3. 저는 포스트에서 설명한 방법에 따라 YUI 하이라이트 버전을 구현 :

    http://gist.github.com/613015

    댓글 작성자 알베르토 산티니 2010년 10월 6일 - #

죄송합니다, 코멘트 양식은이 시간에 문을 닫습니다.

야후 주최

저작권 © 2006년부터 2012년까지 야후 주식 회사 판권 소유. 개인 정보 보호 정책 - 서비스 약관

에서 제공하는 워드 프레스 에서 야후! 웹 호스팅 .