1

在阅读了关于Binding Context的 Knockout 文档后,我希望

这个 HTML:

<div data-bind="with: blah">
    <pre data-bind="text: ko.toJSON($context, null, 2)"></pre>
</div>

这个JS:

var viewModel = {
    blah: {
        hello: "hello",
    }
};

ko.applyBindings(viewModel);

会打印这个:

blah: {
    hello: "hello",
}

但是,我收到以下错误:

错误:无法解析绑定。消息:错误:传递一个返回 ko.computed 值的函数;绑定值:文本:ko.toJSON($context, null, 2)

应该如何使用?

JsFiddle供参考。

4

1 回答 1

0

刚刚想通了。$context 和 $parentContext 只保存该上下文的特殊属性。因此,为了得到我所期望的,我必须将 HTML 更改为:

<div data-bind="with: blah">
    <pre data-bind="text: ko.toJSON($context.$data, null, 2)"></pre>
</div>

更新了 JsFiddle

于 2012-12-14T22:16:45.760 回答