1
개체를 뷰 모델 내부에서 관찰하고 싶습니다. 예상대로 작동하지 않는 간단한 예제가 있는데 누구나 문제를 볼 수 있습니까? 개체가 작동하지 않는 뷰 모델 업데이트
<form data-bind="submit: save">
<input type="text" data-bind="value: deckName" />
<input type="text" data-bind="value: deck().Name" />
<button type="submit">Go</button>
</form>
페이지가로드, 입력이 기본 값을 가져
하지만viewModel.deck().Name
가 업데이트하지만
viewModel.deckName
가되지 않는 양식을 제출하기에 : 녹아웃 1.1.1를 사용
는 다음과 같은 두 입력을 가지고있다. 양식 POST에
<script type="text/javascript">
var initialData = {"Name":"test"};
var viewModel = {
deck: ko.observable(initialData),
deckName: initialData.Name,
save: function() {
ko.utils.postJson(location.href, { deck: this.deck, deckName: this.deckName });
}
};
ko.applyBindings(viewModel);
</script>
는
deck
는 여전히 문제
deckName
동안 입력이 해당 입력 값이 될 것 "테스트"를 보내드립니다.
정말로 원하는 것은 객체 viewModel.deck
을 관찰하고 해당 속성을 입력에 바인딩 할 수 있지만 속성은 업데이트되지 않습니다.
deckName에서 편도 바인딩의 좋은 점. 내가 원하는 것은 '데크'를 JSON에서 가져온 observable로 사용한 viewModel이며 JSON에서 제공하지 않는 다른 속성을 viewModel에 추가 할 수 있습니다. – yanta
@yanta - 'fromJSON'을 호출 한 후에 JSON 객체에서 가져 오지 않은 다른 속성을 추가 할 수 있습니다. 모델은 프로그래밍 방식으로 구성 될 수 있습니다. 그것은 한 번에 모두 모일 필요가 없습니다. –
@Sean Vieira - 두 번째 예제를 가져 와서 페이지에 복사했지만 viewModel이 정의되지 않았으며 이름이 입력에 표시되지 않아 양식이 게시되지 않습니다. 어떤 생각? – yanta