Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ko.observearray和JSON数据处理_Javascript_Asp.net_Knockout.js - Fatal编程技术网

Javascript ko.observearray和JSON数据处理

Javascript ko.observearray和JSON数据处理,javascript,asp.net,knockout.js,Javascript,Asp.net,Knockout.js,我正在使用web服务将数据加载到客户端。出于绑定目的,我需要扩展我得到的数据。也就是说,我不想在服务器端处理所有数据 例如,objectTrip{Id:“123”,Status:“p”} 在HTML中,我将table绑定到observableArray,并希望显示“Pending”而不是“p”。 我来自Silverlight/MVVM,通常您会使用转换器,或者只是向对象添加新的R/O属性 不确定如何在knockout.js中处理此场景,您可以在此处找到所需的全部内容: 仔细阅读。如果您只是在寻

我正在使用web服务将数据加载到客户端。出于绑定目的,我需要扩展我得到的数据。也就是说,我不想在服务器端处理所有数据

例如,object
Trip{Id:“123”,Status:“p”}

在HTML中,我将
table
绑定到observableArray,并希望显示“Pending”而不是“p”。 我来自Silverlight/MVVM,通常您会使用转换器,或者只是向对象添加新的R/O属性


不确定如何在knockout.js中处理此场景,您可以在此处找到所需的全部内容:


仔细阅读。

如果您只是在寻找转换器,
计算的
可观测值是一个很好的选择

var Tip = function(data) {
    var self = this;
    self.id = data.id;
    self.status = ko.observable(data.status);

    //You may prefer fullStatus, or statusName
    self.statusConverter = ko.computed(function() { 
        return self.statusMap[self.status()];
    });
};

Tip.prototype.statusMap = {
    P: "Pending",
    O: "Open",
    C: "Closed"
};
您可以像这样绑定到:

<td data-bind="text: statusConverter"></td>

你可以从中看到它