2014-06-18 4 views
0

내가 만든 데이터 구조의 observableArray가 있고이 데이터 구조에서 필드 중 하나가 관찰 가능합니다. 내부 관측 값 (데이터 구조 내부)의 값이 변경되는 시점을 어떻게 추적 할 수 있습니까? 내부 변수를 구독하려고했지만 작동하지 않습니다.observableArray의 observables가 언제 변경되는지 (knockoutJS) 어떻게 알 수 있습니까?

+0

사용자가 만든 구조를 입증하는 몇 가지 코드 가능성이 바이올린을 제공 :

다음은 link to the fiddle

코드입니다. 당신이 그것을 구독하고 제대로보기에 바인딩 된 경우, 그것은 효과가 있어야합니다. – Origineil

+0

우리가 다른 솔루션을 생각할 수 있도록 observableArray에 저장된 observables에 가입하려는 이유를 언급하면 ​​매우 유용합니다. – LostInComputer

+0

계산 된 값에서 내부 관측 값에 액세스하면 계산 된 값은 체인의 모든 관측 값을 해결합니다. – Anders

답변

0

나는 당신의 상황을 모방하는 바이올린을 만들었습니다. 배열은 ko.observableArray 인 뷰 모델로 구성되며 배열의 각 항목에는 ko.observable 속성이 포함됩니다. 데이터 구조에서 객체를 생성하는 함수를 정의했다고 가정하면 각각의 객체 내에 subscribe 함수를 배치 할 수 있습니다.

function luggage(data) { 
    var self = this; 
    this.id = ko.observable(data.id); 
    this.color = ko.observable(data.color); 
    this.color.subscribe(function (newvalue) { 
     console.log(self.id() + ' changed!'); 
    }); 
} 

function vm() { 
    this.train = ko.observableArray(): 
}