6
변경된 값에 대해 한 번 메서드를 호출하는 방법이 있습니까? 내가 어떤 가치 MyMethod라는이 dependencyObservable 올 becuase 두 번 호출 변경할 때 값에 대한 사용자 지정 메서드 호출 변경
var update = bindingHandlers.value.update;
bindingHandlers.value.update = function(element, valueAccessor, allBindingAccessor, viewModel) {
var newValue = ko.utils.unwrapObservable(valueAccessor());
var elementValue = ko.selectExtensions.readValue(element);
var valueHasChanged = (newValue != elementValue);
update(element, valueAccessor, allBindingAccessor, viewModel);
if (valueHasChanged) {
myMethod();
}
}
이 Unfortunatelly도 변경됩니다 :이 메소드를 호출하는 bindingHandlers.value에 대한 래퍼를 만들었습니다. 어떤 아이디어? 방금 변경 값에 가입하고자 할 경우
I :
당신이 뭔가를 할 수있는 개체의 모든 속성에 가입하려면 약 20 개의 속성을 가진 객체가 필요한 임대 계산기가 있고이 viewModel을 매개 변수로이 계산기에 전달하고 싶습니다. 따라서 대부분의 속성을 구독하고 싶습니다. –
당신은 언제나 'observable' 또는'observableArray' 호출의 속성을 반복 할 수 있습니다 (쉬운 방법은 각 속성에'subscribe' 함수가 있는지 테스트하는 것일 수도 있습니다) –
'subscribeAll' 메쏘드는 깊은 그래프를 쓰지 않고, 얕은 그래프 만하는 것을주의하십시오. –