我是 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);
};
调试窗口。
我做错了什么? 谢谢
我的 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/