Knockout.js 敲除映射插件,用于在表中显示数据
我有来自JSON的数据,如下所示:Knockout.js 敲除映射插件,用于在表中显示数据,knockout.js,knockout-mapping-plugin,Knockout.js,Knockout Mapping Plugin,我有来自JSON的数据,如下所示: [ {"ProjectName":"Region1.Site1","Turbine":"T1","Fault":0,"Description":"No Fault"}, {"ProjectName":"Region1.Site1","Turbine":"T2","Fault":0,"Description":"No Fault"}, {"ProjectName":"Region1.Site1","Turbine":"T3","Fault":1,"D
[
{"ProjectName":"Region1.Site1","Turbine":"T1","Fault":0,"Description":"No Fault"},
{"ProjectName":"Region1.Site1","Turbine":"T2","Fault":0,"Description":"No Fault"},
{"ProjectName":"Region1.Site1","Turbine":"T3","Fault":1,"Description":"In Alarm"},
{"ProjectName":"Region1.Site1","Turbine":"T4","Fault":1,"Description":"In Alarm"},
{"ProjectName":"Region1.Site2","Turbine":"T1","Fault":0,"Description":"No Fault"},
{"ProjectName":"Region1.Site2","Turbine":"T2","Fault":0,"Description":"No Fault"},
{"ProjectName":"Region1.Site2","Turbine":"T3","Fault":1,"Description":"In Alarm"},
{"ProjectName":"Region1.Site2","Turbine":"T4","Fault":1,"Description":"In Alarm"}
]
我想将此数据显示到一个表格中,表格标题为项目名称
,涡轮机
,故障
,说明
我正在使用Knockout.js和。这是一个例子
我主要有两个目标
谢谢Sandeep 我在尝试使用映射插件时遇到了问题
var viewModel={}代码>
viewModel.Stats=ko.mapping.fromJS(数据)代码>
你能告诉我我做错了什么吗。另外,当我收到数据更新时,下面的语句是否有效
ko.mapping.fromJS(数据,视图模型)代码>
由于映射插件不起作用,我不得不使用ko.utils.Arraymap函数
谢谢看起来您有一些额外的括号和圆括号(在您的数据json定义和ApplyBinding之后)。除此之外,您只需将“foreach:Data”更改为“foreach:Stats”,这样您的tbody将指向viewModel的数据。看起来您有一些额外的括号和括号(在数据json定义之后和ApplyBinding之后)。除此之外,您只需将“foreach:Data”更改为“foreach:Stats”,以便您的tbody将指向viewModel的数据。这是工作副本
代码被破坏-没有匹配的大括号和引用“数据”而不是统计数据。这是工作副本
代码被破坏-没有匹配的大括号和对“数据”的引用,而不是统计数据。下面是一个我正在做的事情的示例,实际上是一样的:
var UserRecord = function (data) {
ko.mapping.fromJS(data, {}, this);
};
var mapping = {
key: function (data) {
return ko.utils.unwrapObservable(data.Id);
},
create: function (options) {
return new UserRecord(options.data);
}
};
function UserListViewModel() {
this.users = ko.mapping.fromJS(data, mapping)
}
它不起作用的原因是因为你有一个数组,你必须告诉KO mapping,每个数组项中的每个属性都需要是可观察的。下面是我正在做的一个例子,实际上是一样的:
var UserRecord = function (data) {
ko.mapping.fromJS(data, {}, this);
};
var mapping = {
key: function (data) {
return ko.utils.unwrapObservable(data.Id);
},
create: function (options) {
return new UserRecord(options.data);
}
};
function UserListViewModel() {
this.users = ko.mapping.fromJS(data, mapping)
}
它不起作用的原因是因为你有一个数组,你必须告诉KO mapping,每个数组项中的每个属性都需要是可观察的