2011-04-06 5 views
5

그냥 SlickGrid을 사용하기 시작하고 일반 jquery 위젯/플러그인처럼 자체를 시작하는 것 같지 않습니다. 여기서는 요소에 연결된 인스턴스에 액세스 할 수 있습니다. $ (element) .slickgrid()하고 있습니다.요소에서 SlickGrid의 인스턴스를 가져 오는 방법이 있나요

기존 인스턴스를 만들 때 분명히 보유하지 않고 기존 인스턴스를 유지할 수있는 방법이 있습니까? 코드를 살펴보면 다른 사람이이 문제를 겪었는지 확실하지 않았습니다.

왜 그들이 jquery에 의존하지만 사용자 정의 초기화가 필요한지 확실하지 않습니다.

jqueryui 위젯으로 감싸는 것처럼 간단 할 수도 있습니다.

답변

9

언제나 jQuery의 데이터 함수를 사용하여 매끄러운 격자 인스턴스에 대한 참조를 저장할 수 있습니다. 예를 들어

:

var grid = new Slick.Grid(container,data,columns,options); 
$(element).data('slickgrid', grid); 

그리고 당신은 사용하여 액세스 할 수 있습니다

$(element).data('slickgrid'); 
+0

나는 이것을 처리 할 수있는 간단한 방법이라고 생각한다. 그 이유는 jquery가 인스턴스를 저장하는 곳이기 때문에 SlickGrid를 위젯에 넣었을 때 얻는 것이 본질적이라고 생각한다. –

+0

아마도 래퍼를 작성 하겠지만, 본질적으로 대답입니다. –

-2

내가 이런 종류의 질문에 좀 재미 찾을 수 있습니다. 뭔가가 jQuery 라이브러리를 사용하기 때문에 자동으로 jQuery 플러그인이나 jQueryUI 위젯이되지는 않는다. SlickGrid도 아니기 때문에 디자인 컨벤션이나 API를 따르지 않습니다.

그 작은 목소리를 제외하고, 마크의 대답은 정확합니다. 어떤 이유로 DOM 요소를 사용하여 인스턴스 변수를 저장하려는 경우 $ (element) .data()를 사용하여 쉽게 인스턴스 변수를 저장할 수 있습니다.

+2

그들은 좋은 이유가 있다면 당신과 다소 동의하지만, 인스턴스화 방법에 대해 말할 수있는 것에서는 플러그인 래퍼를 가질 때 얻을 수있는 이점과 일관성에 대해 큰 가치를 제공하지 못합니다. –

관련 문제