【问题标题】:KnockoutJS DatabindingKnockoutJS 数据绑定
【发布时间】:2014-07-08 05:41:21
【问题描述】:

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

感谢您的帮助!

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    在数据调用之后,您正在更改 self.Title 的类型和值。

    尝试以下设置Title

    self.Title(results.d.Title);
    

    【讨论】:

    • 非常感谢!没有意识到 self.Title = results.d.Title; 之间有这么大的区别和 self.Title(results.d.Title);
    猜你喜欢
    • 2013-12-22
    • 2016-01-13
    • 2017-10-18
    • 2013-02-18
    • 1970-01-01
    • 2018-05-08
    • 2015-02-26
    • 2013-08-09
    • 2019-09-13
    相关资源
    最近更新 更多