数据绑定另一个数据绑定文本中的文本

时间:2011-02-15 23:08:01

标签: data-binding knockout.js

一旦div数据绑定将<span>替换为数据绑定,以下似乎不适用于knockoutjs:

<script..>
    <div data-bind="text: name">
        <span data-bind="text: index"></span>
    </div>
</script>

结果是:

<div>My data-bind text</div>

可能有我想要的嵌套行为吗?我不想把这个跨度视为兄弟。

1 个答案:

答案 0 :(得分:8)

当您对文本进行数据绑定时,它将替换div的内容。

我认为你最好的选择是:

<script id="twospans" type="text/html">
    <div>
        <span data-bind="text: name"></span>
        <span data-bind="text: index"></span>
    </div>
</script>

或者如果你真的无法处理两个跨度,那么:

<script id="templatesyntax" type="text/html">
    <div>
        ${name}
        <span data-bind="text: index"></span>
    </div>
</script>

在第二个中,唯一的缺点是如果名称是可观察的并且发生了变化,那么整个模板将再次呈现,而不仅仅是元素的文本。

此处示例:http://jsfiddle.net/rniemeyer/K6jdF/