【发布时间】:2014-10-23 11:58:20
【问题描述】:
我有一个从服务器检索 cmets 的 Javascript ajax 函数(注意:我是 Knockout JS 的新手):
function Comments() {
var self = this;
self.commentArray = ko.observableArray();
self.getNewerComments = function(lastCommentId) {
pageId = $('body').attr('id');
$.ajax({
type: "GET",
dataType: "json",
url: "Controller/getNewerComments/" + pageId + "/" + lastCommentId,
})
.done(function(data) {
self.commentArray = ko.observableArray(data);
alert(self.commentArray[0].authorName);
})
}
}
通过警报,我可以看到该值确实在那里设置,在我的 JS 文件的开头我有以下代码:
var comments = new Comments();
ko.applyBindings(comments);
comments.getNewerComments(0);
在html文件中:
<!-- ko foreach: commentArray -->
<li>Item <span data-bind="text: $index"></span></li>
<!-- /ko -->
</div>
但是,html 文档中没有显示任何内容,甚至没有显示数组长度为 0 的“Item”文本。 这里有什么问题?为什么我不能使用数组值?
谢谢。
【问题讨论】:
标签: javascript jquery knockout.js