這可能是一個非常基本的問題,但在下面的視圖模型中,我從ajax調用中填充self.userData。我想在UI中顯示這些信息,我想'with'綁定是要走的路,但是由於self.userData是空的,直到調用ajax函數,我從綁定中得到一個錯誤具有約束力的knockout.js
HTML
<div data-bind="with: userData">
<div data-bind="text: userId"></div>
...
</div>
模型
var viewModel = function() {
var self = this;
self.userData = {};
self.login = function(data) {
var postData = { ..trimmed out.. };
$.ajax({
type: "POST",
url: "myService",
data: postData
}).done(function (data, status) {
self.userData = ko.mapping.fromJS(data, userData);
console.log(self.userData);
}).fail(function (data, status) {
alert('Could Not Login');
});
}
};
ko.applyBindings(new viewModel());
如果是這樣的話,雖然(它可能會根據返回的數據),他也將需要交換*有*有約束力* foreach *綁定,基於html代碼片段中* userData *的綁定。 – Grim 2013-04-09 07:47:47
你就在那裏@Grim。好點。 – 2013-04-09 07:49:48