0

foreachマッピング プラグインで作成されたモデルに基づいて、Knockout テンプレートで生成されたリストがある jQuery Mobile でメイン ページを作成しました。foreachテンプレートの各項目から、別のノックアウトテンプレートで生成されたページにリンクするボタンがあります。

ボタンのhrefには、「#」プレフィックスとページ ID を持つカスタム モデル エントリが入力されます。

ただし、実際にページを開くボタンはありません。

詳細な例を参照してください: http://jsfiddle.net/VSVA7/

4

1 に答える 1

1

ページは <body/> の子でなければなりません。ただし、ページ テンプレート コードは別の <div> 要素でラップされています。

親 DOMElement なしでテンプレートを使用する場合は、以下のように KO 仮想要素を使用します。

<!-- ko binding: binding_context -->
    TEMPLATE
<!-- /ko -->

この場合、

<!-- ko foreach: Questions -->
<div data-role="page" data-bind="attr: { id: Id }" data-add-back-btn="true">
    <div data-role="content" data-bind="html: Id">
    </div>
</div>
<!-- /ko -->    

あなたのjsfiddleを更新し、その完全な HTML コードを貼り付けました。

<div data-role="page" id="page1">
    <div data-role="header" data-theme="b">
        <h1>Main Page</h1>
    </div>
    <div data-role="content"  style="width:100%;">
        <ul data-role="listview" data-bind="foreach: Questions">
            <li class="listItem">
                <a data-bind="attr: { href: IdUrl }, text: Subject" ></a>
            </li>
        </ul>
    </div>
</div>


<!-- ko foreach: Questions -->
<div data-role="page" data-bind="attr: { id: Id }" data-add-back-btn="true">
    <div data-role="header" data-theme="b">
        <h1 data-bind="text: Subject"></h1>
    </div>
    <div data-role="content" data-bind="html: Id">
    </div>
</div>
<!-- /ko -->
于 2013-05-07T07:43:08.360 に答える