Knockout脚本未击中applyBindings

时间:2017-09-12 18:09:13

标签: knockout.js

我有一个使用Knockout脚本的相当简单的屏幕。我有一个非常奇怪的问题。

我设置了QA / Staging / Production环境,我的屏幕在本地和我的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);
 });

1 个答案:

答案 0 :(得分:0)

我相信这里有一些事情可以发挥作用。我创建了一个JSFiddle来演示这些概念。

  

注意:为清楚起见,我删除了内码。

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

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

$(document).ready(function() {    
  ko.applyBindings(new vm());
});