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

Luc*_*cas 0 data-binding knockout.js

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

<script..>
    <div data-bind="text: name">
        <span data-bind="text: index"></span>
    </div>
</script>
Run Code Online (Sandbox Code Playgroud)

结果是:

<div>My data-bind text</div>
Run Code Online (Sandbox Code Playgroud)

可能有我想要的这种嵌套行为吗?我不想把跨度作为兄弟.

RP *_*yer 8

数据绑定到文本时,它将替换div的内容.

我认为你最好的选择是:

<script id="twospans" type="text/html">
    <div>
        <span data-bind="text: name"></span>
        <span data-bind="text: index"></span>
    </div>
</script>
Run Code Online (Sandbox Code Playgroud)

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

<script id="templatesyntax" type="text/html">
    <div>
        ${name}
        <span data-bind="text: index"></span>
    </div>
</script>
Run Code Online (Sandbox Code Playgroud)

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

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