我无法弄清楚为什么我的模板无法在IE(任何版本)中使用
模板
<div id="Hero-Right">
<script type="text/html" id="heroItems">
{{ _.each( planet.heroItems, function( heroItem ){ }}
<div class="item first">
img src="{{= heroItem.image }}" />
<div class="item-text">
{{= heroItem.text }}
</div>
</div>
{{ }); }}
</script>
</div>
我的数据是
var data = {
heroItems: [
{
image: "Images/Top-TV.png",
text: "Watch the Tv Show"
},
{
image: "Images/Top-Broc.png",
text: "The Brand"
}
]
}
要渲染模板,我调用函数
function renderTemplate(data) {
var template = _.template(
$("#heroItems").html()
);
$("#Hero-Right").html(
template(data)
);
};
要使用小胡子分隔符我使用
更改了下划线定界符 _.templateSettings = {
interpolate: /\{\{=(.+?)\}\}/g,
evaluate: /\{\{(.+?)\}\}/g,
};
这显示铬很好。
答案 0 :(得分:2)
我假设您正在运行较旧的IE版本。在那种情况下:
_.templateSettings = {
interpolate: /\{\{=(.+?)\}\}/g,
evaluate: /\{\{(.+?)\}\}/g, <-- Trailing Comma
};
删除尾随逗号