5

Yeni bir jquery-ui widget'ı sıfırdan programlıyorum. Resmi 'nasıl pencere öğesi fabrikası çalışır' belgesini buldum. (http://jqueryui.com/demos/widget/)Jquery-ui widget'ında dahili özellik nasıl saklanır?

Widget'ın kendisi iyi çalışıyor. Şimdi bazı değerleri dahili olarak saklamak istiyorum - bunu yapmak için tercih edilen bir yol var mı?
Seçenek olarak bildirilen tüm özellikler geneldir bence.

Yardımlarınız için teşekkürler!

cevap

8

this numaralı belgede yalnızca eski eski özellikleri kullanın. Örneğin, bir temel gereci bu gibi bir şey olacaktır:

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

Ve istediğiniz gibi sen this özellikleri olarak dahili değerlerini ayarlayabilirsiniz. Örneğin, yukarıdaki this.internal_value, 11 ve $(s).some_name('frobnicate_by', 23) başlangıç ​​değerlerine internal_value değiştirecektir.

this.changer'u arayarak bağladığınız örnek küçük aracında dahili bir özellik örneği görebilirsiniz.

Birisi, widget'ınızın bir örneğini oluşturduğunda yapılandırılabilen şeyler için options kullanılır. Dahili ayarların herhangi bir özel işleme ihtiyacı yoktur, sadece düz eski nesne özellikleridir; Widget fabrikası ile ilgili güzel şeylerden biri, widget'larınızdaki normal OO şeylerini yapmasını kolaylaştırmasıdır.

+0

Harika bir açıklama için teşekkürler! :-) –