3

次のような Twitter ブートストラップ インターフェイスで部屋を一覧表示しています。

<div class="row-fluid">
    <!-- ko foreach: rooms -->
        <!-- ko if: $index() % 4 == 3 -->
            </div><div class="row-fluid">
        <!-- /ko -->
    <span data-bind="text: $index() % 4"></span>

        <section class="span4">
            <address data-bind="text: pruebaComputed"></address>
            <address data-bind="text: number"></address>
        </section>
     <!-- /ko -->
</div>

したがって、部屋をリストしているのを見ると、行で物事を分割するブートストラップの方法に従うために、行流体クラスで div を挿入しようとしています...

しかし、ノックアウトはネストされたコンテナーレス オペレーターを処理できないため、バグに遭遇したと思います。どうすればこれを解決できますか??

ありがとう!

4

2 に答える 2

11

Knockout は、ネストされたコンテナーレス コントロールを処理できます。これは、ネストされたコンテンツが何であるかを変更して、それが機能することを示すフィドルです。

問題は、ノックアウトが文字列を配置するだけでなく、テンプレートのコンテンツを解析して html の JavaScript テンプレートを作成することです。あなたが与えている構造を理解していないため、偽のクローズがこのエラーを引き起こしています:

Uncaught Error: Cannot find closing comment tag to match: ko foreach: rooms

テンプレートの動的構造に対する Knockout のサポートがないため、これをバグと呼ぶかどうかはわかりません。

これは合法ではありません:

<!-- ko if: $index() % 4 == 3 -->
      </div><div class="row-fluid">
<!-- /ko -->

開始されていないタグを閉じているためです。

于 2013-04-15T18:17:51.163 に答える