5

私は最初から新しいjquery-uiウィジェットをプログラミングしています。 公式の「ウィジェットファクトリーの仕組み」文書が見つかりました。 (http://jqueryui.com/demos/widget/jquery-ui widgetに内部プロパティを格納する方法は?

ウィジェット自体は正常に動作します。 今私は内部的にいくつかの値を保存したい - これを行うための好ましい方法はありますか?
オプションで宣言されているすべてのプロパティはpublicだと思います。

ありがとうございました!

答えて

8

thisでプレーンな古いプロパティを使用してください。例えば、基本的なウィジェットは、次のようなものになります。

$.widget('some_name', { 
    options: { /* ... */ }, 
    _create: function() { 
     // ... 
     this.internal_value = 11; 
     // ... 
    }, 
    frobnicate_by: function(this_much) { 
     this.internal_value += this_much; 
    } 
    // ... 
}); 

を、必要に応じて、あなたはthisのプロパティとして、あなたの内部の値を設定することができます。たとえば、上記の例では、this.internal_valueを初期値11に設定し、$(s).some_name('frobnicate_by', 23)と設定すると、internal_valueが変更されます。

this.changerを検索すると、リンクしたサンプルウィジェットに内部プロパティの例が表示されます。

optionsは、誰かがあなたのウィジェットのインスタンスを作成するときに設定できるもののために使用されます。内部設定は特別な処理を必要とせず、単純な古いオブジェクトのプロパティです。ウィジェット工場に関する素晴らしい点の1つは、ウィジェットで通常のオブジェクト指向のことを簡単に行うことができるということです。

+0

すばらしい説明をありがとう! :-) –

関連する問題