SORU
8 Mart 2012, PERŞEMBE


Eğer bir nesne özelliği ko olup olmadığını belirlemek.gözlemlenebilir

KnockoutJS sürüm 2.0.0 kullanıyorum

Eğer bir nesnenin tüm özellikleri ile değiştiriyorum, nasıl her özelliği ko.observable olup olmadığını test edebilirim? Ben şimdiye kadar denedim:

    var vm = {
        prop: ko.observable(''),
        arr: ko.observableArray([]),
        func: ko.computed(function(){
            return this.prop   " computed";
        }, vm)
    };

    for (var key in vm) {
        console.log(key, 
            vm[key].constructor === ko.observable, 
            vm[key] instanceof ko.observable);
    }

Ama şu ana kadar her şey yanlıştır.

CEVAP
8 Mart 2012, PERŞEMBE


Boşaltma fonksiyonu ko.isObservable() denilen içerir. ko.isObservable(vm[key]) gibi diyebilirsiniz.

Yorum güncelleme:

Burada ise bir şey hesaplanmış bir gözlemlenebilir olup olmadığını belirlemek için bir fonksiyon:

ko.isComputed = function (instance) {
    if ((instance === null) || (instance === undefined) || (instance.__ko_proto__ === undefined)) return false;
    if (instance.__ko_proto__ === ko.dependentObservable) return true;
    return ko.isComputed(instance.__ko_proto__); // Walk the prototype chain
};

Eğer KO 2.1 - sonra ko.isComputed doğrudan kullanabilirsiniz kullanıyorsanız. GÜNCELLEME:

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • TVNorge

    TVNorge

    5 EKİM 2006