2012-02-28 9 views
2

私はローカル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); 
+1

もっとコードやjsFiddleを共有できますか? –

+0

エラー時にスタックトレースを調べて、このエラーを生成する関数が呼び出されているかどうか確認できますか? – soniiic

+0

@RPNiemeyerはさらにコードを追加しました –

答えて

0

私も同じ問題がありました。最後に私は固定して、テンプレートバインディングは問題を引き起こします。渡す配列を使用するテンプレート内のバインディング要素を確認してください。

関連する問題