javascript - 文本值未显示

标签 javascript jquery json knockout.js

我是 KnockOut 的新手。我已经按照该网站上的教程进行操作,现在正尝试在我的学校项目中使用这些知识。

不幸的是我卡住了。我想从本地 JSON 文件动态填充我的文本。 我已经调试并且我用于获取数据的代码有效,但没有显示在我的 HTML 页面上。

我的一个观点:

<p data-bind="text: level.assignment">
   replace dynamically
</p>

KnockOut 已连接到我的 HTML,因为其他绑定(bind)有效。 我的 View 模型

//Class to represent the Level
function Level(id, assignment, videoURL) {
    var self = this;
    self.id = id;
    self.assignment = assignment;
    self.videoURL = videoURL;
}

function LevelViewModel(id) {
    //Data
    var self = this;
    self.id = id;
    self.level = ko.computed(function () {
        //fetching the local json
        $.get('/Data/Text2Speech.json', "", function (data, textStatus, jqXHR) {
            if (textStatus != "success") {
                return "not found";
            }
            //Make the level object
            self.level = new Level(data.exercise[self.id - 1].id, data.exercise[self.id - 1].assignment, data.exercise[self.id - 1].videoURL);
            return self.level;
        });
    }, this);
};

调试窗口。

Debugging Window In Chrome

我做错了什么? 谢谢

我的 JSFiddle http://jsfiddle.net/pPZ48/

最佳答案

试试这个

<p data-bind="text: level().assignment">replace dynamically</p>

代替

<p data-bind="text: level.assignment">replace dynamically</p>

这是 DEMO

关于javascript - 文本值未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23854814/

相关文章:

javascript - 如何在C3.js条形图中聚焦点击的条形?

jquery - 带有多个标题的下拉(组合框)

jquery - 输入网址后的音频长度

javascript - 向下滚动时替换 Logo 图像 JS/HTML/CSS wordpress 网站

python - 使用 Python 将 JSON 转换为 CSV(空闲)

javascript - 在多个 for 循环中重新声明变量 - for(var i ...)

javascript - 从另一个页面获取 Bootstrap 的模态内容

javascript - jQuery .selectable(),总是返回相同的ID?

json - 如何根据http-header内容类型进行mod_rewrite

json - 如何在 couchdb 中索引多维数组