У меня есть модель представления, поступающая с сервера, которую я расширяю с помощью локального объекта сценария Java. Я использую
viewModel = ko.mapping.fromJS(serverData);
$.extend(viewModel, otherItems);
У других элементов есть дополнительные свойства, помеченные как наблюдаемые и массив наблюдаемых. Все хорошо работает в Firefox и Chrome, но в IE 8 я получаю
"Не удалось найти заметку с идентификатором ed2d1f3121ff7e. Возможно, она уже не была запечатлена"
на ko.applyBindings (viewModel);
ошибка уходит, если я не расширяю объект. Есть предложения?
Редактировать
Невозможно добавить полный код, но вот некоторые фрагменты
Я использую плагин Galleria, который читает div, определенный в одном из моих текстовых шаблонов. Div устанавливается как ниже. Если я удалю эту строку, я не получу ошибок.
<script id="PropertyView" type="text/html">
...
<div id="Gallery" data-bind='template: {name:"ImageGallery", foreach: propertyImages}'>
</div>
...
var otherItems = {
similarProperties: ko.observableArray([]),
visibleFeatures: ko.observableArray([]),
propertyImages: ko.observableArray([]),
currentImageUrl: ko.observable(""),
currentImageIndex: ko.observable(-1),
previousImage : function()
{
this.currentImageIndex(this.currentImageIndex() - 1);
},
nextImage : function()
{
this.currentImageIndex(this.currentImageIndex() + 1);
}
}
var viewModel = ko.mapping.fromJS(data)
$.extend(viewModel,otherItems);
ko.applyBindings(viewModel);