我正在使用淘汰映射插件从我的服务器映射一个对象。
我想重新发送这个对象,因此,我最后需要将此对象转换为字符串。我在计算函数中使用了敲除函数 ko.toJSON,以便隐藏字段可以获取该值。
这是一个 jsFiddle:http: //jsfiddle.net/etiennenoel/4EXSy/13/
这是我的视图模型
function appViewModel() {
var self = this;
self.playersEvaluation = ko.observableArray();
self.exportToJSON = ko.computed(function() {
return ko.toJSON(self.playersEvaluation)
}, this);
}
var viewModel = new appViewModel();
var dataContent = [{
playerId: 2,
playerName: "allo",
evaluatedExercises: [{
id: 1,
evaluationExerciseId: 1,
numberOfTries: 6,
tries: [{
id: 0,
number: 0,
result: 0
}, {
id: 0,
number: 0,
result: 0
}]
}]
}, {
playerId: 2,
playerName: "allo",
evaluatedExercises: [{
id: 1,
evaluationExerciseId: 1,
numberOfTries: 6,
tries: [{
id: 0,
number: 0,
result: 0
}, {
id: 0,
number: 0,
result: 0
}]
}]
}]
viewModel.playersEvaluation = ko.mapping.fromJS(dataContent);
ko.applyBindings(viewModel)
这是我在 html 中所做的:
<input type="hidden" name="a" data-bind="value: exportToJSON()" />
<pre data-bind="text: exportToJSON()">
</pre>
为什么它只显示一个空字符串而不是self.playersEvaluation
JSON 格式的内容?