큰 viewModel이 있고 전체 모델을 게시하지 않고 상태 업데이트 ("읽음"/ "읽지 않음")를 서버에 게시하고 싶습니다. 템플릿에서맞춤 바인딩을 사용하는 방법은 무엇입니까?
ko.bindingHandlers.statusUpdater = {
update: function(element, valueAccessor) {
console.log(element);
}
};
: 내가 무슨 짓을했는지
은과 같이 사용자 지정 바인딩을 만들 수있는 사용자 지정 바인딩에 대한
<div data-bind='template: { name: "contactsListTemplate", data: viewModel.conversations.conversationlist }'> </div>
<script type="text/html" id="contactsListTemplate">
<table>
<tbody>
{{each(i, conversation) $data}}
<tr>
<td>
<input type="checkbox" data-bind="checked: read, statusUpdater: conversation_id" />
</td>
</tr>
{{/each}}
</tbody>
</table>
</script>
, 나는, 업데이트에만 관심이있어 내가 내가 할 수있는 생각은 KnockoutJS로 업데이트를 탐지하고 아이템 ID와 새로운 통계를 가져 와서 서버에 게시 할 수 있도록 업데이트 된 아이템을 결정하는 것입니다.
customBinding은 console.log
하나의 체크 상자 수정시 모든 단일 체크 상자에 표시됩니다. 즉, 체크 박스를 변경하면 콘솔에 3 개의 확인란 모두가 ko.bindingHandlers.statusUpdater
을 통해 로깅됩니다.
데이터 바인딩에 클릭 이벤트를 추가하는 것에 대해 생각했지만 사용자 정의 바인딩처럼 깨끗하지 않은 것으로 보입니다. 아마도 사용자 지정 바인딩을 사용하여 수행하려는 작업이 아닌가?
생각하십니까?
이 주셔서 감사하지만 뷰가 나는이 물건을 knockoutjs 아직 점들을 연결 수없는 것 ""= 데이터 바인드 내부 같을 것이다. 감사 – AnApprentice