мой код это:ошибка нокаута, не ViewModel связанный
<div id="DivToUpdate">
<div>
SELECTED ROOM:
<input type="text" id="currentRoom" /></div>
<div id="messagesList">
<table>
<tbody data-bind="foreach: model.Messages">
<tr data-bind="text: Message">
</tr>
</tbody>
</table>
</div>
</div>
<script type="text/javascript">
var viewModel = {};
$('#DivToUpdate').click(function() {
$.getJSON("/ControllerAction/JsonPopulateMessages", { jsonRoom: $('#currentRoom').val() }, function (data) {
var trueData = JSON.stringify(data);
alert(trueData);
viewModel.model = ko.mapping.fromJSON(trueData);
ko.applyBindings(viewModel);
});
});
</script>
мой возвращаемые данные JSON в формате, как это:
{"Messages":[{"Message":["yow!"]},{"Message":["hey!"]}]}
, когда я пытаюсь запустите код и нажмите «DivToUpdate», я ничего не вижу ... таблица и строки пустые .. это означает, что viewmodel не привязан правильно .. и когда я посмотрел на консоль е хрома, он говорит:
NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7
я начинаю изучать нокаут и я был бы очень признателен, если вы могли бы сказать мне, как это исправить ...
Есть причина, почему вы сопоставить данные viewModel.model вместо прямо к корню ViewModel? Имеет ли viewModel другие данные? В противном случае это кажется немного запутанным. –
Я хочу использовать нокаут, чтобы страница могла обновляться без перезагрузки или обновления –