<script type="text/html" id="person-template">
<tr><td>
<p>Book Title: <h3 data-bind="text: Title"></h3>
<p>Available City: <span data-bind="text: CityName"></span></p>
</td></tr>
</script>
jQuery(document).ready(function() {
var loData = AjaxCall('default.aspx', 'GetBookData', '10');
var Data = JSON.parse(loData.Data);
function MyViewModel() {
this.people = Data.Table
}
ko.applyBindings(new MyViewModel());
});
\t
\t
\t $("#btnChangData").click(
\t
var loData = AjaxCall('default.aspx', 'GetBookData', '20');
var Data = JSON.parse(loData.Data);
ko.cleanNode($("#list")[0]);
$('#sample').empty();
$('#sample').html('<tbody id="list" data-bind="template: { name: "person-template", foreach: people }" ></tbody>');
function MyViewModel() {
this.people = Data.Table
}
ko.applyBindings(new MyViewModel());
\t \t
\t \t);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<table id="sample"> \t \t \t \t \t
<tbody id="list" data-bind="template: { name: 'person-template', foreach: people }" >
</tbody>
</table>
У меня есть данные о нагрузке на документ, готовый к функции таблицы. но в событии с нажатием кнопки мне нужно загрузить новый источник данных в таблицу, как можно восстановить источник данных для шаблона нокаута .. в событии click над кодом throws Скрыть код копирования Вы не можете применять привязки несколько раз к тому же элементу ошибка на консоли ..
Глобально объявлен вар ViewModel = { люди: ko.observableArray ([]) } на Pageload: viewModel.people = Data.Table; ko.applyBindings (ViewModel); on clickevent: var Data = JSON.parse (loData.Data); viewModel.people (Data.table); На странице загрузите свою привязку правильно, но в момент клика я обновил viewmodel, данные людей обновлены, но все еще html не привязан к новым данным –
Не переназначьте 'viewModel.people', установите его содержимое:' viewModel.people (Data.Table) ' –
Я сделал это, но все же html не перегруппировался –