我在这篇文章中遇到了类似的问题:[问题]:Can't get the most simple knockout.js sample to work?
这是一个简单的新闻模型,有一个标题,我想在html span标签中显示它。我能够做一个js警报,它给出了正确的值,但是span标签没有显示值。
将applyBindings置于onload调用中的答案不起作用。它最初是在文档就绪功能中。
以下是代码示例:
HTML:
Title: <span data-bind="text: Title"> </span>
JS:
function NewsItem(data) {
this.NewsItemId = ko.observable(data.NewsItemId);
this.Title = ko.observable(data.Title);
}
function NewsItemViewModel() {
var self = this;
self.NewsItemId = ko.observable();
self.Title = ko.observable();
$.ajax({
type: "POST",
url: "GetNewsItemById",
data: "{idstring:'1'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (results) {
self.Title = results.d.Title;
alert(self.Title);
},
error: function (err) {
alert(err.status + " - " + err.statusText);
}
});
}
$(document).ready(function () {
ko.applyBindings(new NewsItemViewModel());
});
感谢您的帮助!
答案 0 :(得分:0)
您在数据通话后更改self.Title
的类型和值。
请尝试以下操作设置Title
:
self.Title(results.d.Title);