artTemplateテンプレートについて質問です.

2609 ワード

私の業務の需要は2つの機能のページの差が多くなくて、私は1つのページに融合して、ifで判断して、このページはjqueryのLoadの方法で入って、中のページはartTemplateのテンプレートを使って、ページはjspのページなので、scriptのテンプレートの中でjavaの判断を加えて、しかし2つのページの切り替えの時、ifの判断は役に立たないで、つまり、1つ目の機能のページを最初にクリックしたときに、2つ目の機能か1つ目の機能かのページに切り替えます.この問題はartTemplateテンプレートのキャッシュによるものであることが後に分かった.config(「cache」,false)は、loadページによるテンプレートキャッシュの問題を解決します.
コードが多いので、一部のコードしか貼られていません
layout.loadRight({url: "../courseSchedule/courseSchedule.jsp",data:{arrangeObj:"class",arrangeWay:arrangeWay},onload: function () {
        rightSwitchInit(6,0);
    }});
このメソッドは、JQueryのloadメソッドがjspページにロードされます.
2ページ目のscriptテンプレートのコードの一部

    {{each list}}
                <%
                    if(arrangeWay.equals("regular")){
                %>
                <!--               -->
                <td width="200" class="plr-10 cur lab-lh40">
                    <span οnclick="showRiqiInput(this)" class=" f-blue fl_l" id="startDate{{$index}}">    </span>
                    <font class="fl_l f-gray plr-5">→</font>
                    <span class=" f-blue fl_l" id="endDate">    </span>
                </td>
                <!--     -->
                <td width="220" class="plr-10 cur lab-lh40" οnclick="timeWindow('{{$index}}');">
                    <span class=" f-blue fl_l" id="cycleWeekText{{$index}}">   </span>
                    <img οnclick="classTimeTableShow(event,'{{$value.classPeriodId}}');" class="cur fl_r pt-10" title="       " alt="       " src="../../../styles/sky/2/img/cha.png">
                </td>
                <!--     -->
                <td width="130" οnclick="$('#cishu').show();" class="plr-10 cur ipt-w-c" style="border:none"><input type="text" readonly class="f-blue fl_l ipt-text" id="courseCount{{$index}}" value="   " οnclick="numberWidget('{{$index}}');"/></td>
                <%}else{%>
                <td width="430" οnclick="" class="plr-10 cur lab-lh40"><span class=" f-blue fl_l">   </span></td>
                <td width="130" class="plr-10"><span class="f-blue fl_l">    </span></td>
                <%}%>
{{/each}}


レンダリングartTemplateテンプレートでfalseとしてキャッシュを設定すると、レンダリングされたjsコードになります.
template.config("cache",false);
var data = {"list":scheduleData};
var htm = template("classTpl",data);
$("#scheduleTitle").after(htm);