当关联的observable发生更改时,我的javascript变量会发生变化

时间:2013-03-06 13:24:29

标签: knockout.js

我正在学习淘汰赛并希望了解一些事情。我有以下代码:

var vehicleModel = { "VehicleId": 0, "Category": "", "Brand": "", "Model": "", "Registration": "", "Available": "" };
self.searchCriteria = ko.observable(vehicleModel);

如果我理解,vehicleModel的值会受到self.searchCriteria的影响,对吧?这个searchCriteria将是“可观察的”,在我看来是可以访问的,对吗?

我不明白的是,当我在视图中更改searchCriteria的值时,也会更改vehicleModel的值。

有人可以解释一下吗?

1 个答案:

答案 0 :(得分:-1)

您可以将您的vehicleModel更改为:

var vehicleModel = function(){
    this.VehicleId=0;
    this.Category="";
    this.Brand="";
    this.Model="";
    this.Resgitration="";
    this.Available="";
}

然后做:

self.searchCriteria = ko.observable(new vehicleModel());

通过这种方式,vehicleModel就像一个类,每次执行时都会实例化一个新对象:new vehicleModel()