我想在Bootstrap模式中显示用户数据的详细信息。我使用AJAX加载数据,并使用knockout mapping plugin
将它们绑定到Knockout ViewModel。
这项工作非常顺利,但只要我多次加载用户数据,我总会看到以下消息:
Error: You cannot apply bindings multiple times to the same element.
Knockout ViewModel:
function UserViewModel() {
var self = this;
self.loadUserData = function(userId) {
$.ajax({
type : "POST",
url : "/user/loadUserDetail.htm",
data: {"userId": userId},
success : function(response) {
self.userHelper = ko.mapping.fromJSON(response);
ko.applyBindings(self);
$("#user-dialog").modal('show');
},
error : function(e) {
showErrorBox('Error: ' + e.status);
}
});
}
}
我该如何解决这个问题?
答案 0 :(得分:0)
像你一样拉下数据,但是一旦你拥有它,使用var jsonToJsObj = $ .parseJSON(jsonResult)来获取一个js对象,然后使用ko.mapping.fromJS(jsonToJsObj),这应该可以工作。 / p>