我正在使用挖空映射插件來映射來自服務器的對象。KnockoutJS - toJSON在計算函數中不起作用
我想重新發送此對象,因此,我最終需要將此對象轉換爲字符串。我在計算函數中使用了knockout函數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>
爲什麼只顯示一個空字符串,而不是內容JSON格式的self.playersEvaluation
?
這並不工作,投入不會出現了... – CoachNono
科爾參見上面URL – 7zark7
謝謝!是否與此處的某些事情有關,當我嘗試發送表單時,出現超時錯誤(錯誤7)?如果沒有關係,我會再問一個問題! – CoachNono