Связывание с нокаутом

У меня есть сценарий, где на основе флага 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 из-за некоторых других...

Я новичок в нокауте. Кто-нибудь может мне помочь?

1 ответ

Решение

Конечно, вы можете использовать нокаут template обязательна для этого. Прочитайте больше здесь.

Так что для изменений это будет что-то вроде ниже, но вы можете сделать изменения, основываясь на том, что вы прочитали по ссылке, которую я дал.

<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>
Другие вопросы по тегам