underscore模板语法

DVve41.png

  • 执行插值

    1
    2
    3
    4
    5
    <%= %>

    var compiled = _.template("hello: <%= name %>");
    compiled({name: 'moe'});
    => "hello: moe"
  • 执行js代码

    1
    2
    3
    4
    5
    6
    <% %>

    var compiled = _.template("<% print('Hello ' + epithet); %>");
    compiled({epithet: "stooge"});
    => "Hello stooge"

  • 对html代码进行转义

    1
    2
    3
    4
    5
    <%- %>

    var template = _.template("<b><%- value %></b>");
    template({value: '<script>'});
    => "<b>&lt;script&gt;</b>"
  • 注意事项

    • 函数嵌套场景用<% %>分别包裹各自函数体
    • 语句后面加个分号试试