knockout.js를 사용하면 서버에서 JSON 개체의 자식 개체 속성에 바인딩 할 수 있습니까? 특히,이처럼 보이는 서버에서 개체가 주어진 경우 :자식 개체의 속성에 텍스트 바인딩
var viewModel = ko.mapping.fromJS(obj);
내가 list
바인딩 :
var obj = {
list: [ { key: "a", value: 1 },
{ key: "b", value: 2 },
{ key: "c", value: 3 }
],
selected: {
key: "",
value: null
}
};
나는 "매핑"플러그인을 통해이 자바 스크립트 객체에서 뷰 모델을 만듭니다 그래서 같은 <select>
태그 :
<select data-bind="options: list, optionsText: 'key',
optionsValue: 'value',
value: selected">
</select>
내 뷰 모델의 selected
재산에 값을 할당했습니다. 즉, 옵션을 선택하면 코드에서 viewModel.selected.key()
및 viewModel.selected.value()
을 성공적으로 쿼리하여 최신 값을 얻을 수 있습니다.
그러나 선택한 항목의 key
또는 value
데이터를 스팬에 바인딩 할 수 없습니다. 예를 들어 선택한 값이 표시되지 않습니다.
<span data-bind="text: selected.value"></span>
내가 원하는 것을 할 수 있습니까? 적절한 컨텍스트를 설정하기 위해 실제 간단한 템플릿을 사용해야합니다 (예 : selected
)?
나는 here의 예가있다. 나는 특별히 자식 selected
객체를 관찰 가능 객체로 매핑하려고 시도했지만 행운은 없습니다 (추가 옵션과 함께 매핑 된 호출을 주석 처리했습니다 참조).
가 환상적인, 내가 찾던 그냥 뭐 - 나는 당신에서 온 거라고 의심. =) 나는'선택 '자체를 관찰 할 수있게 만들어서 올바른 방향으로 가고 있다는 것을 아는 것이 좋다. 우연히'optionsValue' 매개 변수를 설정하는 것이 상황의 핵심이라고 생각합니다. 다시 한 번 감사드립니다! – kdawg