【问题标题】:static tags not getting displayed on page load having knockout binding具有淘汰绑定的页面加载时未显示静态标签
【发布时间】:2014-01-02 10:24:44
【问题描述】:

我有一个表,它的标题是使用 foreach 和数据绑定动态填充的。我在标签内也提到了一个静态元素“hello”,但在页面加载时,Hello 被数据绑定文本替换。为什么不将 hello 和 data-bind 文本一起显示。

demo.html : html table having foreach binding and static content
====================================================================
<table cellspacing="0"  style="width: 100%;">     
    <thead>       
        <tr class="headerRow" data-bind="foreach:tableHeader">
            <th class="headerElement " w="3" style="width: 12%;" data-bind="text:$data.header">Hello</th>
        </tr>     
    </thead>
</table>

在为表头列之一做 Inspect Element 时,代码如下:

患者姓名

请告诉我为什么 hello 被替换为每个数据

【问题讨论】:

    标签: javascript knockout.js


    【解决方案1】:

    这就是text 数据绑定的工作原理。

    Knockout 使用您的参数将元素的内容设置为文本节点 价值。任何以前的内容都将被覆盖。

    来源:http://knockoutjs.com/documentation/text-binding.html

    如果您想拥有多个文本,可以将text 绑定应用于子元素,这样:

    <th class="headerElement " w="3" style="width: 12%;">
    <span data-bind="text:$data.header"></span> Hello</th>
    

    【讨论】:

    • 假设如果我想将 id 添加到 与 $data.header 的值相同,那么我们如何动态实现它。
    • data-bind="attr {id: $data.header}"
    • 尽管您真的应该将其作为一个单独的问题提出并将其标记为已接受:)
    • 很高兴一切顺利。请记住在我的答案旁边打勾以将其标记为已接受。干杯!
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签