2

2 つのサブオブジェクトを持つ JSON オブジェクトで構成されるデータを返したいと考えています。クライアントでは、jsRender {{for}} コンストラクトを使用して、一度に 1 つの特定のオブジェクトのみをループできるようにしたいと考えています。

{{for}} を使用せずにすべてをレンダリングできますが、{{for}} を使用したいと思います。

では、なぜこれが機能しないのでしょうか。

<script id="progDetailsTemplate" type="text/x-jsrender">
    {{for Programmes}}{{!-- Why won't this work? -->}}
    <tr><td>{{>GroupName}}</td></tr>
    {{/for}}
   </script>

ただし、これは機能します。

<script id="progDetailsTemplate" type="text/x-jsrender">
    <tr><td>{{>GroupName}}</td></tr>
   </script>

他のオブジェクトが「GroupName」と呼ばれる同じプロパティを持つ可能性があるため、これについて助けてください。

ここで例を確認できるように、jsFiddle を作成しました: http://jsfiddle.net/SNSXs/1/

4

1 に答える 1

0

私が見る限り、問題は render メソッドに渡すオブジェクトにあります。パスして、プロパティdataResults.Programmesにアクセスしようとしました。Programmesあなたがする必要があったのは合格dataResultsであり、それは機能します。

あなたのjsfiddleの例に変更を加えました。唯一の変更は call メソッドにあります:

function BuildProgs() {
    $("#progTable").append(
            $("#progDetailsTemplate").render(dataResults)
        );
}

また、あなたのjsコード標準に関する補足事項です。左中括弧{を関数名と同じ行に配置します。これは、 javascript コード規則に関する良い読み物です。

于 2013-05-16T12:28:54.530 に答える