현재 Knockout을 사용하여 매우 많은 응용 프로그램을 작성 중이며 계산 된 관찰 가능 쓰기 가능으로 만드는 문제에 봉착했습니다.녹아웃 기록 가능한 계산 된 관찰 가능
현재 사용자가 연령 그룹을 선택하고 여기에서 선택한 값을 사용하여 옆에 입력 된 텍스트를 채워서 계산 된 관찰 가능 연령 그룹의 인구를 표시하는 드롭 다운 옵션이 있습니다. 드롭 다운 및 텍스트 입력 값은 모두 배열에서 채워집니다.
아래 코드를 설정했지만 기본적으로 텍스트 입력 값이 계산 된 관찰 가능을 통해 생성되고 드롭 다운에서 값을 선택할 때 올바른 형식이 사용자 정의 바인딩 처리기를 통해 적용된다는 것을 알 수 있습니다. .
내가 겪고있는 문제는 텍스트 입력에 사용자 지정 값을 입력하면 (드롭 다운에서 값을 선택하는 것과는 반대로 텍스트 상자에 직접 입력 한 경우) 텍스트 상자를 흐리게하면 사용자 지정 서식 입력 한 값에 적용되지 않으며이 문제를 해결하는 방법을 잘 모릅니다.
self.selectedPopulation = ko.computed({
read: function() {
return self.chosenAge().population;
},
write: function (value) {
// write value back here?
},
});
Codepen :가 변경 될 때 http://codepen.io/anon/pen/HkguL (쓰기 기능이 라인 (76)에있다) 당신은 selectedPopulation에게 정상적인 관찰을하고, 관찰 chosenAge에 가입 할 필요했습니다
질문하는 질문에 직접 대답하지 않습니다. 하지만 사용자 지정 바인딩 처리기를 서식 문제를 해결할 수있는 잘못된 방법이라고 생각합니다. 일반적으로 관찰 할 수있는 형식이 지정되지 않은 데이터를 저장하고 표시 전용 서식을 추가하는 읽기 전용 계산 된 있습니다. 숫자를 편집해야하는 경우 편집 상자에 쉼표가 없어야합니다. 읽기 - 쓰기로 편집하도록하더라도 사용자 정의 바인딩이 필요하지 않습니다. – Retsam