관찰 가능한 객체 중 하나에 구독 함수가 있습니다. 구독 함수는 관찰 가능 객체에 대한 변경이있을 때만 실행해야한다고 가정합니다. 코드를 추적 할 때 초기화시 ko.applyBindings(MyViewModel);
을 호출 한 후에 코드가 실행되고 있음을 알 수 있습니다.ko.applyBindings (...) 내 knockout js subscribe 함수 (관찰 가능)가 실행 중입니다.
function MyViewModel(myModel){
this.myProperty = ko.observable(myModel.myProperty);
this.myProperty .subscribe(function (val) {
// do sth..
}, this);
}
내가 applyBindings로 전화 할 곳이다 : 여기
나는 나의 뷰 모델에 무엇을 가지고있다jQuery(document).ready(
function ($) {
ko.applyBindings(MyViewModel);
});
이 예상되는 동작입니다을?
ko.applyBindings(MyViewModel);
바로 뒤에 subscribe 함수가 호출됩니다. 즉, UI에서 입력을받지 못했습니다.
myProperty 값이 변경 될 때마다 내 구독 기능 본문 만 실행하도록하고 싶습니다. 관찰 할 수있는 객체를 추적하여 어디에서 변화가 일어나는지 확인할 수있는 방법이 있습니까?
구독은 값이 변경 될 때만 실행됩니다. 값을 쓰는 바인딩에서 applyBindings 동안 값을 변경할 수 있습니다. 'value' 바인딩을 사용하여'select'에 속성을 묶고 문자열로 업데이트되는 초기 숫자 값을 가지게됩니까? –
@RPNiemeyer : 유용한 의견을 보내 주셔서 감사합니다. 서브 스크립 션은 실제로 백엔드 코드에서 발생하는 일부 변경으로 인해 초기화 후 호출되었습니다. 언급 한 것처럼 – r2d2oid