값이 "ham"인 선택 selectedValue
의 사전 설정 값이 있습니다. "스팸", "햄", "치즈"의 세 가지 옵션이 있습니다. 뷰 모델이 적용되면반복 바인딩이있는 녹아웃 : 처음에 선택한 값을 덮어 쓰는 중
는 "햄"값은 선택 이지만, selectedValue
는 것으로 보인다 있지만 "햄"실제로 선택하지 않은 것이 값이다 푼다, 그래서.
selectValue
의 초기 값을 유지하려면 무엇을 변경해야합니까? 내가 https://github.com/mbest/knockout-repeat 바인딩 반복을 사용하고 : 다음은 jsfiddle
html로에게
<select data-bind="value:selectedValue">
<option data-bind="repeat: values"
data-repeat-bind="value: $item(), text: $item()">
</option>
</select>
<br>selectedValue: <span data-bind="text:selectedValue"></span>
뷰 모델
var viewModel = function() {
this.selectedValue = ko.observable("ham"); //initial value has been chosen.
this.values = ko.observableArray(["spam", 'ham', 'cheese']);
this.showMeSelectedValue = function(){alert(this.selectedValue())};
};
ko.applyBindings(new viewModel());
주입니다. 일반적으로 일반 옵션 바인딩을 사용 하겠지만 선택한 레이블이 작동하려면 바인딩을 반복해야합니다.
내가보기 대신 바인딩 컨텍스트를 사용하려면이 편집 : 여기
은 예입니다 여기에 은 예입니다 자손을 묶을 때의 모델. 그렇게하면'$ root','$ parent' 등등에 접근 할 수 있습니다. –@MichaelBest - 업데이트 된 바이올린. 좋은 편집. –