У меня есть модель просмотра ko. Я хочу сделать частичный вид дважды на одной странице. Один раз для физического адреса и один раз для почтового адреса. Они имеют одинаковые свойства, данные просто разные. Нет модели родительского представления нокаута на стороне клиента, которая содержит как физические, так и почтовые адреса. Я получаю сообщение «Вы не можете применять привязки несколько раз к одному и тому же элементу». Выдержка ниже. Я мог бы создать модель нокаута, называемую адресами, которая будет содержать как физическую, так и почтовую, а затем использовать привязку со связыванием в частичном с двумя div (одна для почтовой, одна для физической). Я предполагаю, что это сработает. Но я действительно не хочу создавать родительскую модель, если это необходимо. Все предложения?Применить привязки ko к частичному виду
Страница:
@Html.Partial("_Address", Model.PhysicalAddress)
@Html.Partial("_Address", Model.PostalAddress)
Частичное:
@model Models.AddressDetailsViewModel
<div id="myDiv">
<table class="my-table">
<tr>
<td id="postalCode">
<span data-bind="text: props.postalCode">
</span>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var data = @(Html.Raw(Json.Encode(Model)));
var viewModel = mapAddress(data);
ko.applyBindings(viewModel, $("#myDiv")[0]);
</script>
попробуйте cleanNode (// div) и повторно примените привязки. вы указали, что попробуйте –
Поскольку идентификатор должен быть уникальным, недопустимо иметь одинаковые идентификаторы дважды на той же странице. –
@WayneEllery Если я не устанавливаю явно идентификаторы, которые должны работать? –