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

  • MC JIN'S OLD YouTube CHANNEL

    MC JIN'S OLD

    2 Kasım 2008
  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • mobilenet.cz

    mobilenet.cz

    26 NİSAN 2008