私はローカルJavaスクリプトオブジェクトで拡張するサーバーから来るビューモデルを持っています。私は使用しますknockoutjs IE 8:IDがed2d1f3121ff7eのメモを見つけることができませんでした。おそらくそれは既にunememoizedされています
viewModel = ko.mapping.fromJS(serverData);
$.extend(viewModel, otherItems);
他の項目はobservableとobservableArrayとマークされている追加のプロパティを持っています。すべては、Firefoxとクロームで正常に機能しますが、IE 8の上に私は
ko.applyBindings(ViewModelに)に「多分それはすでにunmemoizedされていたID ed2d1f3121ff7eを持つ任意のメモを見つけることができませんでした。」
を取得します。
オブジェクトを拡張しないとエラーになります。助言がありますか?
編集 は、完全なコードを追加することはできませんが、ここでいくつかのスニペットは、私は私のテキストテンプレートのいずれかで定義された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を共有できますか? –
エラー時にスタックトレースを調べて、このエラーを生成する関数が呼び出されているかどうか確認できますか? – soniiic
@RPNiemeyerはさらにコードを追加しました –