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

  • dhcrr's channel

    dhcrr's chan

    2 Ocak 2007
  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007