将静态html属性附加到Knockout.js数据绑定

时间:2017-06-17 11:35:29

标签: html knockout.js

我从文件中绑定json并且工作正常。绑定是在html表上完成的:

<script type="text/html" id="ordertracking_template">
    <tr>  
      <td data-bind="text:ClientName"></td>
      <!-- ko foreach: SalesCohorts -->
      <td data-bind="text: TotalCohortSales">/td>
      <!-- /ko -->
      <td data-bind="text: TotalSalesInTargetPeriod"></td>
    </tr>
</script>

现在,我希望在 TotalCohortSales 的同一行中添加一个链接。即。

<!-- ko foreach: SalesCohorts -->
<td data-bind="text: TotalCohortSales"><pre><a href="">Orders</a></pre>/td>
<!-- /ko -->

如上所示,但没有发生。数据被绑定,但添加的<pre><a href="">Orders</a></pre>元素不会被渲染。

我希望我上面提供的信息足以让某些人能够提供一些帮助。

1 个答案:

答案 0 :(得分:1)

当你说:

  <!-- ko foreach: SalesCohorts -->
  <td data-bind="text: TotalCohortSales">/td>
  <!-- /ko -->

您正在定义此行的内容(innerHTML)(<td>)。您不能在此行中添加任何其他内容。

如果您想要撰写更多数据,则需要从其内容中分隔<td>

  <!-- ko foreach: SalesCohorts -->
  <td>
     <span data-bind="text: TotalCohortSales"></span>
     <pre><a href="">Orders</a></pre>
  </td>
  <!-- /ko -->

现在每个SalesCohorts都有一列。在此列中,您将获得TotalCohortSales和链接。