1

これが私のテンプレートです:

<script type="text/html" id="template_medassign">        
    <div class=" <%= pocket.get('spanTag') %>" >
        <a data-toggle="modal" href="#windowTitleDialog" class="thumbnail">                
            <% if ( <%= pocket.get('drugDoseDisplayName') %>.length < 0   ) { %>
                <label ><%= pocket.get('drugDoseDisplayName') %></label>
            <% } else { %>
                ...else block
            <% } %>
        </a>
    </div>
</script>

pocketメインテンプレートからオブジェクトデータを渡しspanTagdrugDoseDisplayNameプロパティのデータを取得できます。しかし、ifステートメントで試してみると、underscore.jsから「MicrosoftJScriptランタイムエラー:予期される')'」というエラーが発生します。

ブールフラグ付きのモデルで別のプロップを維持することで、他の方法も試しましたが、運がありませんでした。Plは解決策を提案します。

<% if ( <%= pocket.get('isMedAsiigned') %>   ) { %>
<% if ( %> <%= pocket.get('isMedAsiigned') %> <%  ) { %>
4

1 に答える 1

2

テンプレートタグをネストしようとしています:

<% if ( <%= pocket.get('drugDoseDisplayName') %>.length < 0   ) { %>
        ^^^                                   ^^

_.templateテンプレートを JavaScript 関数にコンパイルすると、無効な JavaScript が生成されます。中に入る<% ... %>と、すでに JavaScript に入っています。詳細なマニュアルから:

[...] <% … %> を使用して、任意の JavaScript コードを実行するだけでなく、

テンプレート タグをネストする必要はありません。次のようにするだけです。

<% if ( pocket.get('drugDoseDisplayName').length < 0 ) { %>
于 2012-04-27T20:16:37.167 に答える