Knockoutjs:绑定到模板中数组之外的一个可观察属性

knockoutjs: binding to an observable property outside of an array, in a template

本文关键字:一个 属性 观察 绑定 数组 Knockoutjs      更新时间:2023-09-26

我试图将模板的一部分绑定到数据模型根上的属性,同时构建模板的可观察数组。

这个jsfiddle: http://jsfiddle.net/mgxyE/2/简洁地说明了我想要完成的任务。

span <span data-bind='text: message'></span>是失败的,因为我无法弄清楚如何在模板内设置该绑定。任何帮助吗?

如果您的视图模型具有全局作用域,那么您可以简单地执行:

<span data-bind='text: model.message'></span>

在你的小提琴,你会想要改变选项从onLoadno wrap (body)如何加载JavaScript。

另一种选择是通过templateOptions传递值。这看起来像:

<div data-bind='template: {name :"nodeTemplate", foreach: nodes, templateOptions: { myMessage: message} }'></div>

然后,像这样绑定它(你可以叫它message,只是用myMessage来显示名字的来源):

<span data-bind='text: $item.myMessage'></span>

最后,如果您使用KO 1.3测试版,我建议您这样做,那么您可以简单地执行:

<span data-bind='text: $root.message'></span>

在Knockout JS 1.3中,你可以使用父绑定上下文:

http://jsfiddle.net/Afx6d/