【发布时间】:2015-11-13 13:56:23
【问题描述】:
我有一个来自服务器的视图模型,我使用本地 java 脚本对象进行扩展。我用
viewModel = ko.mapping.fromJS(serverData);
$.extend(viewModel, otherItems);
otherItems 具有标记为 observable 和 observableArray 的附加属性。在 Firefox 和 chrome 中一切正常,但在 IE 8 上我得到了
“找不到任何 ID 为 ed2d1f3121ff7e 的备忘录。也许它已经被取消了”
关于 ko.applyBindings(viewModel);
如果我不扩展对象,则会出现错误。有什么建议吗?
编辑 无法添加完整代码,但这里有一些 sn-ps
我正在使用 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);
【问题讨论】:
-
你能分享更多代码或jsFiddle吗?
-
您能否调查错误时的堆栈跟踪以查看正在调用哪些函数会产生此错误?
-
@RPNiemeyer 添加了更多代码
标签: jquery internet-explorer knockout.js