jQuery UI 위젯 라이브러리를 사용하는 이유


jQuery 플러그인을 작성하는 것은 jQuery.prototype(일반적으로 $.fn으로 표시됨)에 메서드를 추가하는 것만큼 쉽고 를 반환하는 것과 같은 몇 가지 간단한 규칙을 따라야 합니다. 코드> 이것. 그렇다면 위젯 팩토리는 왜 존재하는 걸까요? jQuery.prototype(通常显示为 $.fn)添加方法一样简单,且需要遵循一些简单的规则,比如返回 this。所以为什么会存在部件库(Widget Factory)?

在本章节中,我们将讲解部件库(Widget Factory)的好处,并了解何时使用它,以及为什么要使用它。

无状态 vs. 有状态插件

大多数 jQuery 插件是无状态的,它们执行一些动作即完成了它们的任务。例如,如果您使用 .text( "hello" )

이 장에서는 Widget Factory의 이점을 설명하고 언제, 왜 사용해야 하는지 알아봅니다.

상태 비저장 플러그인과 상태 저장 플러그인

대부분의 jQuery 플러그인은 상태 비저장이며 작업을 완료하기 위해 몇 가지 작업을 수행합니다. 예를 들어 .text( "hello" )를 사용하여 요소의 텍스트를 설정하는 경우 설치 단계 없이 결과는 동일합니다. 이러한 유형의 플러그인의 경우 jQuery의 프로토타입을 확장할 뿐입니다.

그러나 일부 플러그인은 상태를 저장하고 전체 수명 주기를 가지며 상태를 유지하고 변경 사항에 반응합니다. 이러한 플러그인에는 초기화 및 상태 관리(때로는 파기)를 위한 특수 코드가 많이 필요합니다. 이는 상태 저장 플러그인을 생성하기 위한 템플릿으로 이어집니다. 더 나쁜 점은 각 플러그인 작성자가 플러그인의 수명 주기와 상태를 서로 다른 방식으로 관리하므로 서로 다른 API 스타일을 갖는 플러그인이 생성된다는 것입니다. 위젯 팩토리는 템플릿을 제거하고 플러그인에 대한 일관된 API를 생성하여 이러한 문제를 해결하는 것을 목표로 합니다.

일관된 API

위젯 팩토리는 위젯을 생성 및 삭제하고, 옵션을 가져오고 설정하고, 메서드를 호출하고, 위젯에 의해 트리거되는 이벤트를 수신하는 방법을 정의합니다. 상태 저장 플러그인을 생성하기 위해 위젯 팩토리를 사용하면 정의된 표준을 자동으로 준수하므로 신규 사용자가 플러그인을 더 쉽게 사용할 수 있습니다. 또한, Widget Factory는 인터페이스를 정의하는 기능도 구현할 수 있습니다. Widget Factory에서 제공하는 API에 대해 잘 모르신다면 Widget Factory 사용법을 참고하시기 바랍니다.

초기화 시 옵션 설정
🎜옵션을 허용하는 플러그인을 생성할 때 가능한 한 많은 옵션에 대한 기본값을 정의해야 합니다. 그런 다음 초기화 중에 사용자가 제공한 옵션이 기본값과 병합됩니다. 사용자가 기본값을 변경할 수 있도록 기본값을 노출할 수도 있습니다. jQuery 플러그인에서 일반적으로 사용되는 패턴은 다음과 같습니다. 🎜
$.fn.plugin = function( options ) {
    options = $.extend( {}, $.fn.plugin.defaults, options );
    // Plugin logic goes here.
};
 
$.fn.plugin.defaults = {
    param1: "foo",
    param2: "bar",
    param3: "baz"
};
🎜The Widget Factory에서도 이 기능을 제공하고 개선했습니다. Widget Factory를 사용한 후의 모습은 다음과 같습니다. 🎜rreee🎜