簡體   English   中英

替換敲門.js中普通div的模板元素

[英]Replace template element for normal div in knockout.js

我正在嘗試使用模板而不使用template標簽,因為任何版本的IE均不支持此template

代替這個:

<template id="component-input-slider">
    <span data-bind="text: display"></span>
</template>

我正在嘗試使用:

<div class="hidden" id="component-input-slider">
    <span data-bind="text: display"></span>
</div>

在第二種情況下,我得到了錯誤: display is not defined

最好的解決方案是什么?

我嘗試在模板包裝器中添加data-bind: if: $data它似乎可以用於復制 ,但不適用於我的真實應用程序。

像上面的注釋一樣,您可以使用腳本標簽創建如下模板:

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <table>
    <tbody data-bind="template: { name: 'table-template'}"></tbody>
  </table>
</div>

<script id="table-template" type="text/html">
    <!--ko foreach: data-->
        <tr data-bind="data: $data">
            <td data-bind="text: category"></td>
            <td data-bind="text: description"></td>
        </tr>
  <!--/ko-->
</script>

這是一個工作的JSfiddle https://jsfiddle.net/gmbrx2vd/4/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM