SORU
6 NİSAN 2012, Cuma


Nasıl net/knockout.js gözlemlenebilir bağlantıları kaldırmak için?

Kullanıcı birden çok kez gerçekleştirmek için bir web sayfası işlevselliği üzerine inşa ediyorum. Kullanıcı eylemi ile, nesne/modeli ve ko kullanarak HTML için oluşturulan uygulanır.() applyBindings.

Veriye bağlı HTML jQuery şablonları ile oluşturulur.

Şimdiye kadar çok iyi.

Ben ikinci nesne/model oluşturarak bu işlemi tekrarlayın ve ara ko.() applyBindings ben iki sorunlarla karşılaşabilirsiniz:

  1. Biçimlendirme önceki nesne/model olarak yeni bir nesne/model gösterir.
  2. Javascript bir hata hala biçimlendirme işlenmiş olsa da özellikleri ile ilgili bir nesne/model oluşur.

İlkinden sonra bu sorunu geçici olarak almak için bir WordPress kullanmak istiyorum pas geçer .(boş) veri-bağlama tüm içeren şablon HTML kaldırmak için artık DOM, bu öznitelikleri. Kullanıcı başladığında ikinci geçiş süreci veriye bağlı HTML yeniden DOM.

Ama dediğim gibi, ne zaman HTML yeniden eklenen DOM ve re-bound için yeni bir nesne/model, hala içerir verilerden ilk nesne/modeli, ve ben hala bu JS hata yapmaz sırasında meydana ilk geçiş.

Sonuç biçimlendirme DOM çıkarıldığında bile Nakavt bu özelliklere bağlı tutarak bu gibi görünüyor.

Nakavt bu bağlı özellikler kaldırma aracı; artık gözle görülür bir model olduğunu söylüyor nakavt arıyorum. Bunu yapmanın bir yolu var mı?

EDİT

Temel işlem kullanıcı yüklenenler bir dosya; sunucu yanıt ile bir JSON nesne, veri bağlama HTML eklenir DOM, JSON nesne modeline bağlıdır bu HTML kullanarak

mn.AccountCreationModel = new AccountViewModel(jsonData.Account);
ko.applyBindings(mn.AccountCreationModel);

Kullanıcı model üzerinde bazı seçimler yapıldıktan sonra, aynı nesne sunucu, veri bağlama HTML kaldırıldıktan sonra DOM nakledilir ve daha sonra aşağıdaki JS var

mn.AccountCreationModel = null;

Kullanıcı bunu bir kez daha yapmak istediği zaman, tüm bu adımlar tekrar edilir.

Kodu '' jsFiddle demo yapmak için. işin içinde çok korkuyorum

CEVAP
6 NİSAN 2012, Cuma


DOM eleman bellek bağlı nesneleri imha etmek, eleme temiz düğüm yöntemi aramayı denediniz mi?

var element = $('#elementId')[0]; 
ko.cleanNode(element);

Sonra nakavt olan bağlarını yeniden yeni görünüm modelleri ile sadece öğe üzerinde uygulayarak görünümünüzü bağlayıcı güncelleme.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Cole Rolland

    Cole Rolland

    23 Kasım 2008
  • newport83

    newport83

    19 HAZİRAN 2006
  • sonia989

    sonia989

    26 EKİM 2006