敲除绑定迭代

时间:2016-07-13 05:23:43

标签: knockout.js knockout-3.0 knockout-binding-handlers

我有一个基于Observable标志的场景,我需要迭代ABC和XYZ

当前代码

<div  data-bind="visible: isEnabled">
           <ul data-bind="foreach: relatedObservalableArray">
               <li>
               <!-- Hundred lines of code>
               </li>
            </ul>
</div>


<div data-bind="visible: !isEnabled">
        <ul data-bind="foreach: unRelatedObservalableArray">
               <li>
                <!-- Same Hundred lines of code>
               </li>
            </ul>
   </div>

我感觉代码重复。

有什么方法可以将两个html函数分组到一个?

由于其他一些原因,我想仅在HTML部分进行更改...

我是Knockout的新手。有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

当然,您可以使用敲除template绑定。 阅读更多here

因此,对于更改,它将类似于下面,但您可以根据您从我给出的链接中读取的内容进行更改。

<script type="text/html" id="template-name">
   Hundred lines of code...
</script>

<div  data-bind="visible: isEnabled">
  <ul data-bind="foreach: relatedObservalableArray">
    <li data-bind="template: 'template-name'">
    </li>
  </ul>
</div>


<div data-bind="visible: !isEnabled">
  <ul data-bind="foreach: unRelatedObservalableArray">
     <li data-bind="template: 'template-name'">
     </li>
  </ul>
</div>