2012-06-15 12 views
10

Ben Knockout.js nesne vardır:Knockout.js - gözlemlenebilir bir özelliğin değerini hesaplanan bir gözlemlenebilir içimde nasıl alabilirim?

var viewModel = { 
    description : ko.observable(""), 
    Name : ko.observable(""), 
    productid : ko.observable(""), 
    productmodel : ko.observable(""), 
    productnumber : ko.observable(""), 
    text_relevance : ko.observable(""), 
    mydunamicfield : ko.computed(function() { 
     return "bq=(and " + 
      ((this.description == "") ? "" : ("description:" + this.description + " ")) + 
      ")"; 
    } , this) 
}; 

Ama mydunamicfield mülkiyet doğru birleştirilmiş sonucu üreten değil.

Property 'description' of object [object Window] is not a function 

bu durumda sorunu nedir: Başka işlevi içinde this.description() başvuru çalıştığınızda, sayfa yükleme olduğunda, şu hata mesajını aşağıdaki bkz?

cevap

13

Öncelikle, değerini almak istiyorsanız, olarak başvuruda bulunmalısınız.

İkincisi, computed gözlemlenebilir.

çalışan örneğin http://jsfiddle.net/rAEqK/2/ bakınız oluşturmak kendisi noktada tanımlı değil viewModel olan senin viewModel ('this' olarak dışında computed alanını koymayı deneyin.

İlgili konular