2012-02-22 4 views
1
I는 문제가

내 녹아웃 뷰 모델은 기능 없음없고이 필요한가 :넉 아웃, ViewModel은 계산할 수없는 개체입니까?

vmNeu = { 
KdLand: ko.observableArray(), 
SelectedKdLand: ko.observable(), 


Ansprechpartner: ko.observableArray([]), 
ApListe: ko.computed({ 
    read: function() { 
     var apList = []; 
     $(this.Ansprechpartner()).each(function(index, ap) { 
      var vollerName = ap.Vorname + ' ' + ap.Nachname; 
      if (ap.IstStandard) { 
       vollerName += ' (Standard)'; 
      } 

      apList.push({ label: vollerName, value: ap.AnsprechpartnerNr }); 
     }); 
     return apList; 
    } 
}) 

};

모든 이제 큰, 관찰 가능한 구독을 열심히하지만 지금은 모든 노력을, 나는 계산을 사용하려는 내 뷰 모델에서 다른 속성에 액세스하지 못할 때까지, 가능성이

(

? 당신이 docs for computed observables에 보면

안부

답변

1

, 당신은 예처럼 작동합니다 귀하의 코드를 변경해보십시오. ko.computedthis의 범위에 대한 인수를 취하는 것을 볼 수 있으며

작동합니다3210
+1

분명히 밝혀 지겠지만, (이 예제에서와 같이) 객체 내부에 정의 된 계산에 대한 서명은 "ApListe : ko.computed (function {..}, this)"이어야합니다. "vm.ApListe = ko.computed (function {..}, vm);"와 같은 객체 참조를 전달해야합니다. –