2013-03-20 30 views
5

Bir web topluluk geliştiriyorum etkinlik ekleyebilir ve gerektiğinde görünümleri etrafında kullanışlı widget sağlamak jQuery kullanmayla ilgili şüphelerim var başladı etmek. Örneğin, belirli giriş metnindeki verileri araştıran, veritabanımın sorduğu ve sonuçların olaylarla ele alınmasını sağlayan bir jQuery eklentisi yazdım.nasıl <strong>CakePHP'de</strong> javascript çalışma zamanı oluşturulan html widget

Temelde, basit uygulamalar için eklenti mükemmeldir, ancak neredeyse tüm görünümlerde ve farklı olay ve yöntemlerle her kullanımda kullandığım bir topluluk için büyük bir etkinlik beyanı ve çok can sıkıcı bir hale getirmesiyle işe yaramaz. debug.

ben widget'tan varsayılan olayları kullanarak sorunu çözmek ve görünüm için özel bir olasılık set ek olayları eklemek Love, ama bunu nasıl yapabilirim? Emin değilim nerede

bu i

enter image description here

görüntünün Yeşil alan düşünce durum olduğu zaman, çok onlara ihtiyacım her zaman retrived edilecek varsayılan olayları koymak gereken yerde? O zamandan sonra, daha sonra, kullanımı daha kolay olması için widget'a bir olay ekleyebilirim.

Widget için her türlü html kısmının javascript ile yüklendiğini ve etkileşimli olduğunu, belki de sonuçların bir listesini veya bunun gibi bir şeyi alan bir girdi araması olduğunu düşünüyorum.

Soruma göre varsayılan olayları çalışma zamanında widget'a kopyalayıp yapıştırmadan her seferinde nasıl ayarlayabilirim? Ve ikinci sorum, onlara yalnızca görünüm için belirli olayları nasıl ekleyebilirim?

Çevrimiçi bir yerde bulunan bazı eğiticiler de güzel olurdu.

cevap

1

Cevabım backbone.js gerektirir, bu yüzden size yardımcı olup olmayacağından emin değilim.

Widget'ınızı bir sarıcıya ve gerçek parçacığa ayırabilirsiniz. sarıcı sizin yakın olay gibi olayları ele verebilir:

var WidgetWrapper = Backbone.View.extend({ 

    tagName: 'div', 
    // This should be a mustache template: 
    template: '<a class="close" href="#">close</a><div class="content"></div>', 
    events: { 
    '.close click': 'close', 
    '.open click' : 'open' 
    }, 
    close: { 
    this.$el.hide(); 
    }, 
    open: { 
    alert('I am open'); 
    } 
    render: { 
    this.$el.html(Mustache.to_html(view.template, view.model.toJSON()); 
    } 

}); 

gerçek Widget sarıcı widget'ı içeride kendisini kullanılabilir hale getirdik ve her iki görünümler veri modelinin (this.model) ile etkileşim olabilir.

Bu, olaylarınızı ayırmanıza olanak tanır.

Ayrıca başka bir yöntemle de yapabilir ve alt görünümü olan bir sarıcı kullanabilirsiniz.

+0

Örnek için teşekkür ederiz, Backbone.js'nin nasıl çalıştığını göreceğim, Sadece proje için kullanmayı düşündüğüm çerçeve idi. – vitto