2013-08-23 38 views
2

我有一个像下面这样的对象。将观察对象转换为常规对象

var order = function (data) { 
    this.OrderId = data.Id; 
    this.CustomerName = ko.observable(data.CustomerName); 
    this.CustomerAddress = ko.observable(data.CustomerAddress); 
    this.CustomerPhone = ko.observable(data.CustomerPhone); 
    this.TotalPrice = ko.observable(data.TotalPrice); 
    this.Cancelled = ko.observable(data.Cancelled); 
    this.Pizzas = ko.observableArray(); 
}; 

在我的VM:

var currentOrder = new model.Order({}); 

当这个对象被从UI修改,一切工作正常。当我想将这个对象传递给我的数据层来保存时,我的问题就出现了。它有这样的:

Chrome console.log output

很显然,我不能把这传递给我的数据层。是否有一种简单的方法可以在不手动编写大型映射器的情况下去除所有淘汰赛中的复杂对象?

回答

4

试试这个:

ko.toJS(currentOrder); 

ko.toJSON(currentOrder); 

淘汰赛文档here