数据绑定元素不呈现子元素

时间:2014-10-10 22:00:58

标签: javascript knockout.js

所以我试图使用敲除来绑定一些颜色和内容。这是我目前的HTML

<ul class="simple-data" data-bind="foreach: chartLegendInfo">
    <li data-bind="text: Key">
           <span class="legend-swatch" data-bind="style: { background_color: $parent.Value }"></span>
    </li>
</ul>

正在发生的事情是<li>元素文本正确呈现,但内部<span>根本不呈现。没有错误输出。我假设这与knockout呈现内部html的方式有关,因此span html可能会被绑定到<li>的文本覆盖。

有谁知道如何解决这个问题或达到这个效果?

1 个答案:

答案 0 :(得分:1)

绑定到li的数据被设置为该li的innerHTML,因此删除了span。处理此问题的最佳方法是在li:

中使用两个跨度
<ul class="simple-data" data-bind="foreach: chartLegendInfo">
<li>
       <span data-bind="text: Key"></span>
       <span class="legend-swatch" data-bind="style: { background_color: $parent.Value }"></span>
</li>