다른 이벤트를 처리하기 위해 knockoutjs를 사용하고 있습니다. 그 중 하나는 가격 입력란에 1,000 명의 분리자를 추가하려고합니다.knockoutjs에서 자체적으로 문제가되는 속성을 구독하고 있습니까?
그래서 가격 필드에 변경 이벤트를 등록하고 누락 된 분리자를 추가하고 가격 필드에 다시 기록하는 마술을합니다. 가격 필드에 다시 쓰기는 새로운 변경 이벤트를 트리거 때문에, 나는 루프 휴식을 체크 필요 - 값이 실제로 변경 한 경우 내가 물어 수행
this.listingPriceFormatted.subscribe(function (newValue, model) {
var cleanValue = newValue.toString().replace(/\D/g, '');
$('#Price').val(cleanValue);
var outValue = MySite.Utilities.addThousandSeperator(cleanValue);
if (newValue != outValue) {
me.listingPriceFormatted(outValue);
}
});
나는 트리거별로 좋아하지 않아요 동일한 이벤트를 두 번만 사용하여 값을 한 번 설정하십시오. 이벤트를 다시 트리거하지 않고 필드에 다시 쓸 수있는 방법이 있습니까? 아니면이 모든 것을 잘못하고 있습니까?
멋진 대답, 내가 찾던 excatly 무엇 :
또한,이 게시물의 끝에서, 당신에게 도움이 될 수있는 그 하나의 객체로 관찰 및 dependentObservable을 캡슐화하는 생각입니다. 녹아웃은 훌륭하지만, 개인적으로 나는 그것에 대한 문서를 탐색하는 데 문제가 있습니다 ... –