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