2016-07-13 6 views
0

を結合私は、コードの重複を感じていノックアウトは、反復

<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> 

ABCとXYZ

現在のコードを反復処理する必要が観察可能フラグに基づいてシナリオを持っています。

2つのhtml関数を1つにまとめることはできますか?

私はノックアウトに新しいです起因する他のいくつかの...

にHTMLの一部にのみ変更したいです。誰か助けてくれますか?

+1

あなたのコードは動作しますが、あなたはそれを改善したい場合は、あなたの質問は確かにそれが働い – zezollo

答えて

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> 
+0

感謝をhttp://codereview.stackexchange.com/に属し:) – Antguider