1

私は、Knockout.js で jQuery テンプレートを使用して、UI とロジックをうまく分離した Web アプリケーションを実験しています。以前の反復では、ループを繰り返して手動でデータのリストを作成し、data() メソッドを使用して、書式設定していた実際のオブジェクトをリスト項目に追加していました。これは、クリック後にオブジェクトを簡単に抽出できることを意味しました。次に操作を行います。

function createBusCatListItem(busCat) {
    var $item = $("<li>");
    $item.data("busCat", busCat);
    var $text = $("<span>").html(busCat.busCatName)
    $text.addClass("listText");
    $text.click(function () {
        handleCategoryClick(this);
    });
    $text.appendTo($item);
    return $item;
}

jQueryテンプレート内でdata()を使用する方法はありますか、それともマークアップのみを扱うので、「data-id」タグ内にIDを入れて、それをルックアップとして使用するだけです。

 <script id="selectableCategory" type="text/html">
        <li data-id="${busCatCode}"> ${busCatName} </li>
    </script>

すべての提案に感謝します

乾杯

T

4

1 に答える 1

2

テンプレートのレンダリング中に使用されたオブジェクトへのアクセスが必要な場合は、ここで説明されているように tmplItem().data を使用できる場合があります: http://api.jquery.com/jquery.tmplitem/

JSFiddle のサンプルは次のとおりです: http://jsfiddle.net/rniemeyer/tLnwx/

于 2011-02-02T16:41:48.700 に答える