Knockout.js AJAX Get

Beb*_*igu 1 ajax knockout.js

我是使用Knockout.js的新手,也是JavaScript的新手.我浏览了他们的教程,并尝试修改示例以从服务器加载数据,如下所示.任何人都可以指出我的代码有什么问题

JavaScript的:

jQuery(document).ready(function () {

    MyViewModel = function()
    {
        var self =this;
        self.name = ko.observable("");

        self.getJson = function()
        {
            jQuery.ajax({
                //Do all the work
                success: function(data)
                {
                    self.name = data.name;
                }              

            });
        }
    }

    myViewModelObj = new MyViewModel();
    ko.applyBindings(myViewModelObj);
    myViewModelObj.getJson();

});
Run Code Online (Sandbox Code Playgroud)

视图:

 <h1 data-bind="text: name "></h1>
Run Code Online (Sandbox Code Playgroud)

bea*_*mes 5

在声明一个对象是一个可观察对象之后,它就变成了一个本机函数来淘汰.要更新值,请使用

self.name(data.name);
Run Code Online (Sandbox Code Playgroud)

否则你将覆盖该功能.