3

アンダースコアの問題に遭遇した人がいると思うので、ここで何かを見つけました: Using Underscore.js with ASP.NET

解決策は次を追加することでした:

_.templateSettings = {interpolate : /\{\{(.+?)\}\}/g,      // print value: {{ value_name }}
                  evaluate    : /\{%([\s\S]+?)%\}/g,   // excute code: {% code_to_execute %}
                  escape      : /\{%-([\s\S]+?)%\}/g}; // excape HTML: {%- <script> %} prints &lt;script&gt;

underscore.js に

そのため、underscore.js を開いて _.templateSettings セクションを見つけ、上記のソリューションに置き換えましたが、まだ運がありません。

私が行方不明になっている場所はありますか?ここに私のコードは次のようになります:

<table class="table">
    <thead>
        <tr>
            <th></th>
            <th>#</th>
            <th>Keyword</th>
            <th>Corresponding Field</th>
            <th><a href="#" class="btn pull-right" id="one-to-one-add">Add</a></th>
        </tr>
    </thead>
    <tbody>
        <% _.each(keywords, function(keyword, key, list) { %>
        <tr>
            <td><label class="checkbox"><input type="checkbox" /></label></td>
            <td><%= key + 1 %></td>
            <td><input name="keywords[<%= key %>][keyword]" class="input-medium keyword-name" type="text" value="<%= keyword.name %>" /></td>
            <td>
                <select class="keyword-field">
                    <% _.each(fields, function(field, key, list) { %>
                    <option name="keywords[<%= key %>][field]" value="<%= field.id %>" <% if (keyword.fieldId == field.id) { %>selected<% } %>><%= field.name %></option>
                    <% }); %>
                </select>
            </td>
            <td class="align-right"><a href="#defining-keyword" data-toggle="modal">Define</a></td>
        </tr>
        <% }); %>
    </tbody>
</table>
4

1 に答える 1

8

だからこれは私がやっていることです:

<script type="text/javascript">
    $(document).ready(function ()
    {            
        _.templateSettings = {
            interpolate: /\<\@\=(.+?)\@\>/g,
            evaluate: /\<\@(.+?)\@\>/g
        };
    });
</script>

上記のHTMLヘッド内のコード

<@ ... @> に変更すると、コードは次のようになります。

<tbody>
    <@ _.each(keywords, function(keyword, key, list) { @>
    <tr>
        <td><label class="checkbox"><input type="checkbox" /></label></td>
        <td><@= key + 1 @></td>
        <td><input name="keywords[<@= key @>][keyword]" class="input-medium keyword-name" type="text" value="<@= keyword.name @>" /></td>
        <td>
            <select class="keyword-field">
                <@ _.each(fields, function(field, key, list) { @>
                <option name="keywords[<@= key @>][field]" value="<@= field.id @>" <@ if (keyword.fieldId == field.id) { @>selected<@ } @>><@= field.name @></option>
                <@ }); @>
            </select>
        </td>
        <td class="align-right"><a href="#defining-keyword" data-toggle="modal">Define</a></td>
    </tr>
    <@ }); @>
</tbody>
于 2012-10-11T07:42:02.980 に答える