KnockoutJS数据绑定

时间:2014-07-07 21:36:07

标签: knockout.js

我在这篇文章中遇到了类似的问题:[问题]: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());
});

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您在数据通话后更改self.Title的类型和值。

请尝试以下操作设置Title

self.Title(results.d.Title);