위젯 정의에서 _create
과 _init
의 차이점을 이해하고 있다고 생각합니다. (예를 들어 this question을 참조하십시오.) 목적에 대해서는 아직 명확하지 않습니다. 차이점은입니다. 어떤 종류의 설치 작업이 _create()
또는 _init()
에 들어 있습니까? 위젯 제작자가 잘못된 것을 선택하면 잘못 될 수 있습니다. 에서jQuery UI 위젯에서 _init와 _create 사이를 결정하는 방법은 무엇입니까?
답변
:
- http://forum.jquery.com/topic/jquery-ui-1-8-use-of-init
- http://www.erichynds.com/jquery/tips-for-developing-jquery-ui-widgets/
- http://jqueryui.com/demos/dialog/
사용
_create
구축하고 등 마크 업, 바인드 이벤트,_init()
에 기본 기능 배치를 주입합니다. 대화 위젯은, 예를 들면, 위젯은 가 초기화되면 대화 개방되어야하는지 여부를 나타내는 파라미터autoOpen
을 제공한다;_init()
에 대한 완벽한 자리! 또한
:
위젯 공장은 자동으로 순서대로 초기화하는 동안
_create()
및_init()
방법 발생합니다. 언뜻보기에는 노력이 중복 된 것으로 보입니다. 그러나 두 사람 사이에는 시차가 있습니다._init()
이 위젯이 인수없이 호출 때마다 호출되는 반면 위젯 공장이 같은 요소에 여러 인스턴스 생성에 대한 를 보호하기 때문에,_create()
될 것 각 위젯 예를 들어 한 번에 최대라고 ...
저자 _create()
부호화 된시기 _init()
_init()
위젯이 인스턴스화 번씩 실행되도록 할 것이다. 여기
짧은 답변 : 당신이 $ xx.your - 플러그인과 같은 (옵션)을 처음으로 JQuery와 - UI 플러그인을 실행할 때 _create()가 실행됩니다; 코드가 $ xx.your-plugin (옵션)으로 실행될 때 처음으로 인 경우 _init()가 처음 실행되고 이 실행됩니다.
이 같은 JQuery와 - ui.custom.js에서 일부 코드가로 :
var instance = $.data(this, fullName);
if (instance) {
instance.option(options || {})._init();
}
그래서 그것이 밖으로 그려 후, JQuery와 - UI를 플러그인 차트을 그릴 경우, 다음 원하는 으로 새 데이터를 사용하여으로 업데이트하려면 차트를 업데이트하려면 _init()에서이 작업을 수행해야합니다. 무언가를 표시하고 완전히 업데이트하지 않으면 _create()가 사용자의 요구를 충족시킵니다.
위젯에 대한 * call * 당 한 번 :-) 어쨌든, 두 번째 링크는 (이 문제와 다른 문제에서) 매우 중요합니다. 내가 그것을 놓쳤던 방법을 몰라. 감사합니다! –