【发布时间】:2015-02-17 09:10:09
【问题描述】:
我正在通过 Knockout 调用以下模板:
<script type="text/html" id="uploaded-files-template">
<li data-bind="text: original_name"></li>
<pre data-bind="text: ko.toJSON($parent, null, 2)"></pre>
</script>
这是在 foreach 循环中被调用的:
<ul class="files-list" data-bind="template: { name: 'uploaded-files-template', foreach: uploadedFiles, as: 'uploadedFile' }"></ul>
我正在尝试从我的模板访问$parent 绑定上下文,但我被告知它是undefined,当我尝试将其输出为 JSON 格式时(正如我在上面所做的那样),它是空的。
$uploadedFiles 是ko.observableArray():
self.uploadedFiles = ko.observableArray([]);
通过 AJAX 填充,如下所示:
然后继续:
$.each(message.objects, function(index, object) {
self.uploadedFiles.push(object);
});
如果我用$data 替换$parent,我可以看到正在输出的当前迭代。知道为什么这个$parent 没有显示任何内容吗?
【问题讨论】:
标签: javascript html data-binding knockout.js