2017-09-12 11 views
1

私はノックアウトスクリプトを利用しているかなりシンプルな画面を持っています。私は本当に奇妙な問題があります。ノックアウトスクリプトがヒットしないapplyBindings

QA /ステージング/プロダクション環境が設定されており、画面がローカルに、QA環境で完全に読み込まれて実行されます。ただし、スクリプトとページをステージングサーバーに移行すると、Knockoutはko.applyBinding(VM)コードにヒットしません。それは私のQAサーバー上で行います。私は、その時点で検証するためにChromeのデバッガツールを使用しています。ここで

は私のコード、少ない一部の機能...私はここに遊びにいくつかのことがあると信じ

$(document).ready(function() { 
vm = new function() { 

     var thisVm = this; 

     this.lastName = ko.observable(), 
     this.firstName = ko.observable(), 
     this.dob = ko.observable(), 
     this.cityList = ko.observable([]) 

     //Load the CityList 
     this.loadCityList = function (callback) { 
      var data = {}; 
      new ajaxJsonHelper().invoke("ServiceDelivery.aspx/GetCityList", data, vm.loadCityListCallback, showAjaxFailure, false); 
     } 

     this.loadCityListCallback = function (result) { 
      if (result.d != null) { 
       vm.cityList(result.d); 
      } 
     } 
    } 
    ko.applyBindings(vm); 
}); 
+0

あなたは、任意のインフラ関連の問題を除外していますか?または、あなたのマシンで完全なブラウザのキャッシュのクリーン/リフレッシュ後に試しましたか? –

+0

私はサーバーとクライアントマシン上のすべてのキャッシュをクリアしました。私は、ファイルが正しいことを知ることができ、すべての関数がヒットし、applyBindingsには決してヒットしません。それは私が今まで見た中で最も奇妙なものです。 – Matt

+0

「私のプロダクションサーバーに移行する」と言いましたが、私はステージングを意味しました。私はそれを反映するためにオリジナルの投稿を編集しました。 – Matt

答えて

0

です。そして私はJSFiddleという概念を実証するために作成しました。

注:明確にするために、内部コードを削除しました。本番環境はおそらく古いファイルをキャッシュされたプロキシサーバーを持つような

var vm = function() { 
    var thisVm = this; 

    console.log("inside view model"); 
}; 

$(document).ready(function() {  
    ko.applyBindings(new vm()); 
}); 
関連する問題