내 녹아웃 매핑 개체에 작업을 추가하는 데 어려움을 겪고 있습니다.녹아웃 매핑 개체에 작업 추가
내가 지금 당장에있는 곳입니다. Knockout: Mapping API information을 따르려고합니다.
이 먼저 HTML입니다 :
<a href="#" id="AddContact" class="add-button" type="button" data-bind="click: addContact">+ Add Contact</a>
<div id="ContactList">
<table>
<thead>
<tr>
<th>ID</th><th>Name</th><th></th>
</tr>
</thead>
<tbody data-bind="foreach: $root">
<tr>
<td data-bind="text: ContactID"></td>
<td data-bind="text: DisplayName"></td>
<td></td>
</tr>
</tbody>
</table>
</div>
는 그리고이 넉 아웃을 배선에서 내 첫 번째 시도이다 : 나는 추가 인수 ({} 및 baseModel
)에서를 제거하는 경우,
var baseModel = {
addContact: function() {
alert('Woo!');
}
};
contacts = ko.mapping.fromJS('[{"ContactID":6,"DisplayName":"Doe, John"},{"ContactID":7,"DisplayName":"Rogers, Mister"}]', { }, baseModel);
ko.applyBindings(contacts);
지금 ko.mapping.fromJS
, 내 모든 데이터가 테이블에 올바르게 표시됩니다. 그러나 (예상대로) "연락처 추가"링크로 바인딩 오류가 발생합니다. baseModel
을 다시 추가하면 "연락처 추가"링크를 클릭해도 작동하지만 데이터가 표시되지 않습니다. 나는 어떤 방법 으로든 오류를 얻지 못한다. 그래서 나는 거기에서 벌어지고있는 일에 대해 약간 혼란 스럽다.
저는 KO를 처음 접했기 때문에 뭔가 간단한 걸 놓치고 싶습니다. StackOverflow를 검색했지만이 시점에서 실제로 작동하는 것을보고 실제로 무슨 일이 일어나고 있는지 이해하지 못하도록 코드를 연결했습니다. 누군가가 몇 가지 추가 설명을하고 올바른 방향으로 나를 가리킬 수 있습니까? 감사.
fromJS 내 실제 응용 프로그램에서 작동 - 난 그냥 질문에 대한 JSON을 사용하고 업데이트하는 것을 잊었다. 당신은 분명히 올바른 방향으로 지적 해주었습니다. 그래서 나는이 대답을 받아들입니다. 그러나 조금 더 연구를 마친 후에 나는 automapper를 사용하는 것을 좋아하지 않는다고 생각했다. (내가 직접하는 것을 선호한다.) 그래서 나는 약간 다른 해결책을 사용했다. 당신의 도움을 주셔서 감사합니다! – JasCav