2017-09-12 3 views
1

녹아웃 스크립트를 사용하는 상당히 간단한 화면이 있습니다. 나는 정말 이상한 문제가있다.녹아웃 스크립트가 적용되지 않습니다. applyBindings

QA/스테이징/프로덕션 환경이 설정되어 있고 화면이 로컬 및 QA 환경에서 완벽하게로드되어 실행됩니다. 그러나 스크립트와 페이지를 스테이징 서버로 마이그레이션 할 때 Knockout은 ko.applyBinding (VM) 코드를 사용하지 않습니다. 그것은 내 품질 보증 서버에서 않습니다. 내가 크롬 디버거 도구를 사용하여 그 시점에서 그것을 깨고 확인하고 있습니다. 여기

내 코드, 적은 일부 기능 ... 여기 놀이에 몇 가지가있다 생각

$(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()); 
});