SORU
22 ŞUBAT 2012, ÇARŞAMBA


Omurga Görünümü: üst olayları uzatmak Miras

Omurga belgelerine durumları:

Olayları özelliği de olaylar bir karma, daha kolay olayları programlı olarak tanımlamak, hem de bunları devralmak üst görünümlerinden yapmak döndüren bir işlev olarak tanımlanabilir.

Nasıl bir ebeveyn bakışı olayları devralmak ve bunları uzatmak mı?

Üst Görünüm

var ParentView = Backbone.View.extend({
   events: {
      'click': 'onclick'
   }
});

Çocuk Görüntüleyin

var ChildView = ParentView.extend({
   events: function(){
      ????
   }
});

CEVAP
22 ŞUBAT 2012, ÇARŞAMBA


Bir yolu vardır:

var ChildView = ParentView.extend({
   events: function(){
      return _.extend({},ParentView.prototype.events,{
          'click' : 'onclickChild'
      });
   }
});

Başka olacaktır:

var ParentView = Backbone.View.extend({
   originalEvents: {
      'click': 'onclick'
   },
   //Override this event hash in
   //a child view
   additionalEvents: {
   },
   events : function() {
      return _.extend({},this.originalEvents,this.additionalEvents);
   }
});

var ChildView = ParentView.extend({
   additionalEvents: {
      'click' : ' onclickChild'
   }
});

Olaylar olup olmadığını kontrol etmektir fonksiyon ya da nesne

var ChildView = ParentView.extend({
   events: function(){
      var parentEvents = ParentView.prototype.events;
      if(_.isFunction(parentEvents)){
          parentEvents = parentEvents();
      }
      return _.extend({},parentEvents,{
          'click' : 'onclickChild'
      });
   }
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Cumia

    Anthony Cumi

    5 EYLÜL 2006
  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • Nightmare2005

    Nightmare200

    14 Ocak 2007