Knockout.js 从另一个函数可以观察到

Knockout.js 从另一个函数可以观察到,knockout.js,Knockout.js,我有以下代码 var Person = function() { firstName = ko.observable(); lastName = ko.observable(); }; function AppViewModel() { var self = this; self.personData = ko.observable(new Person()); self.newPerson = ko.observable(new Person());

我有以下代码

var Person = function() {
    firstName = ko.observable();
    lastName = ko.observable();
};

function AppViewModel() {
    var self = this;
    self.personData = ko.observable(new Person());
    self.newPerson = ko.observable(new Person());
    self.savePerson = function() {
        // ajax call
        // self.personData will be empty - why?
        console.log(ko.toJSON(self));
    };

    self.newPerson = function() {
        self.newPerson = ko.observable(new Person()); // this makes the object disappear from the model, dunno why
    };
}

// Activates knockout.js
ko.applyBindings(new AppViewModel());
我试图将一个“Person”绑定到一个可观察的“PersonData”,并在单击新按钮时重置该“PersonData”,但当我将模型发布回系统时,它变为空

我在这儿闲逛

您的newPerson函数有一个错误,语法正确

self.personData(new Person());


编辑:您分配了错误的成员,并且您还重新分配了一个新的可观察对象,而不是更新旧的可观察对象,即绑定到personData的可观察对象!谢谢你。将标记为答案:)