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

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • Sams Page :D

    Sams Page :D

    15 Mart 2009
  • Strata1000

    Strata1000

    28 EYLÜL 2009