У меня есть большой viewModel, и я хотел бы опубликовать обновление статуса («читать»/«непрочитанное») на сервере без публикации всей модели.Как использовать пользовательские привязки?
Что я сделал, это создать Выборочная Binding так:
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 и определить, какой элемент был обновлен, чтобы я мог захватить этот идентификатор элементов и новую статистику, а затем отправить его на сервер.
Что такое customBinding console.log
ging each one checkbox при одной модификации флажка. Это означает, что я меняю флажок, и все 3 флажка регистрируются на консоли через ko.bindingHandlers.statusUpdater
.
Я думал о добавлении события кликов к привязке данных, но это выглядело не так просто, как пользовательская привязка. Возможно, то, что я пытаюсь сделать с пользовательскими привязками, не для чего они предназначены?
Мысли?
Спасибо за это, но что бы вид выглядеть внутри дата-затруднительной = «» Я не могу соединить точки еще на этом knockoutjs материала. благодаря – AnApprentice