您好我正在使用Backbone将Jade模板渲染为HTML。视图如下所示:
script(type="text/template",id="waiting_call_template")
div(class="call-code") <%= channelId %>
div(style="display: inline-block; vertical-align: top; margin-right: 20px; width: 130px;")
div(class="statistic", title='<%= fullPage %>') <%= page %>
当呈现时,HTML输出如下所示:
<div title="<%= fullPage%>" class="statistic">test.html</div>
这是因为fullPage变量在引号中。如何让Backbone识别出fullPage是一个变量,即使它在引号中?
答案 0 :(得分:1)
如果您使用此脚本将标记更改为{{ - varName}},则此方法有效:
_.templateSettings.escape = /\{\{-(.*?)\}\}/g
在您的情况下,您必须将模板更改为:
script(type="text/template",id="waiting_call_template")
div(class="call-code") {{- channelId }}
div(style="display: inline-block; vertical-align: top; margin-right: 20px; width: 130px;")
div(class="statistic", title='{{- fullPage }}') {{- page }}
答案 1 :(得分:0)
请改为尝试:
div(class="statistic", title=<%= fullPage %>)
答案 2 :(得分:0)
如果要在引号之间打印内容,请使用“#{}”语法:
div(class="statistic", title="#{fullPage}") #{page}
答案 3 :(得分:0)
答案 4 :(得分:0)
只需取消模板即可。使用下划线'unescape'。在你的骨干里:
_.template( $('#tmpl-following').html() ),
更改为
_.template( _.unescape( $('#tmpl-following').html() ) ),