Düzenleme: Sadece açık olmak gerekirse, jQuery'nin awesomenessini sorgulamıyorum. Onu heryerde kullanırım. JQuery'nin işlevselliğinden yararlanan düzenli js nesneleri üzerinde Widget'ların kullanılmasının avantajlarını anlamıyorum.Düzenli JS nesnesi üzerinden jQuery Widget'in avantajları?
Son zamanlarda üzerinde çalıştığım bir uygulamada bazı jQuery Widget'ları kullanmak zorunda kaldım ve onları çok kasıtsız/çirkin olmak için buluyorum. Gerçekten herhangi bir değer eklemediğini öğrenecek pek çok kongre var gibi görünüyor ve sözdizimi intellisense ya da kolay bir refactoring uymuyor.
Beni yanlış anlama, jQuery'yi sürekli kullanıyorum ve onsuz hayattan nefret ediyorum, yalnızca widget sözleşmesindeki değeri göremiyorum. Eminim bu noktayı kaçırıyorum çünkü çok yaygınlar, lütfen beni bilgilendirin. Neden insanlar düzenli js nesneleri yerine jQuery widget'ları yaratıyor?
basitleştirilmiş Örnek:
Düzenli JavaScript Nesne:
//instantiate & render
var foo = new MyDomain.MyObject('#mySpecialInput', options)
foo.render();
//assign to property
foo.value = 5;
//call method
foo.multiplyBy(2);
//bind event
foo.change(function(){
alert('it changed');
}
jQuery Widget:
//instantiate & render
var $foo = $('#mySpecialInput');
$foo.myWidget(options);
//assign to property
$foo.myWidget('option', 'value', 5);
//call method
$foo.myWidget('multiplyBy', 2);
//bind event
$foo.bind('myWidgetChange', function(){
alert('it changed');
}
bir nedeni olacaktır [jQuery şaşırtıcı ve birçok şey yapar:)] (http://img180.imageshack.us/img180/3305/addanumbertoanothernumb.png) Bu @naveen – naveen
bakmaya başlıyor gerçek cevap gibi daha fazla :) –
Ben jQuery UI Widget Factory kullanıyorum (her zaman yazdığınız eklentileri yazmak için). Onları her nesne için kullanmayı düşünmüyorum. Fabrika, kamu yöntemlerini oldukça kolay bir şekilde çağırmayı sağlar ('$ foo.data ('myWidget'). MultiplyBy (2);'). –