2013-03-08 2 views
0

knockout-2.2.0.js를 사용하고 있습니다.녹아웃에서 모델의 변경 사항을 구독하는 방법

function Person(name, age) 
{ 
    this.Name = ko.observable(name); 
    this.Age = ko.observable(age); 
} 


var person = ko.observable(new Person("Tom", 23)); 

지금 내가 원하는 것 같은 사람 관찰 대상에 첨자를 넣어하는 것입니다 : 나는 녹아웃에 물체를 추적 한

person.subscribe(function(newValue){ 
//here i want the notification whenever person object name or age change 
}); 

그러나이 위의 subscription.Is 어떤 다른 일이되지 않는다 할 수있는 방법, 아니면 내가 잘못하고있는 것?

편집

나는 우리가 각 속성에 개별 가입을 적용하여이 작업을 수행 할 수 있다는 것을 알고하지만 난 일반 가입 방법을 찾고?

답변

0
당신이 바인딩을 적용하지 않은 것 같습니다

, ko.applyBindings(new Person("Tom", 23)); use- 당신이 모델의 변화를 호출 할 필요가 일부 기능을 원한다면 당신은 여기

ko.bindingHandlers.yourBindingName = { 
    update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) { 
     // here you can call your function when some change occur in your observables 
    } 
}; 
+0

사람이 최상위 모델이 아닙니다. 최상위 모델 – gaurav

+0

의 개체이 값 변경에 대한 일부 함수를 호출해야하는 경우 사용자 지정 바인딩을 사용하지 않는 이유는 무엇입니까? – Sudarshan

관련 문제