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

  • ASUS Campus Life

    ASUS Campus

    18 Mart 2013
  • snookie77

    snookie77

    2 Mart 2006
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011