Handlebars模板未填充上下文
Handlebars template not filling in context
我正在构建一个Flask
应用程序,并有一些客户端HTML呈现,我想使用Handlebars
模板来完成。
我有以下非常基本的车把模板:
<script id="source-template" type="text/x-handlebars-template">
<div class="source-data">
<span>{{last4}}</span>
<span>Exp : {{exp_month}} / {{exp_year}}</span>
</div>
</script>
我使用它如下(与车把教程中完全一样):
var source = $('#source-template').html();
var template = Handlebars.compile(source);
var context ={
last4:'1234',
exp_month:'12',
exp_year:'2020'
};
var html = template(context);
console.log(html);
然而,它似乎并没有将上下文中的数据插入到模板中。控制台输出为:
<div class="source-data">
<span></span>
<span>Exp : / </span>
</div>
我是不是遗漏了什么?我不确定可能出了什么问题,因为我基本上复制了车把的例子。
由于我使用的是Flask
,所以我在一个由Jinja
呈现的html文件中编写了脚本。
因为没有名为last4
、exp_month
和or exp_year
的变量传递到Flask的render_template()
函数中,所以它将它们替换为零,从而使车把模板没有变量。
解决方案是在脚本中使用{% raw %}
,这样Jinja就不会将这些解释为变量:
<script id="source-template" type="text/x-handlebars-template">
{% raw %}
<div class="source-data">
<span>{{last4}}</span>
<span>Exp : {{exp_month}} / {{exp_year}}</span>
</div>
{% endraw %}
</script>
相关文章:
- 将函数的上下文应用于javascript变量
- 如何设置html元素填充的动画
- 如何使用jquery在填充自动完成的值后使文本框只读
- 如何通过ajax刷新JSF填充的javascript变量
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 用与线条相同的颜色填充多折线图上的点
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 使用JQuery的动态上下文菜单
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 用我的json数据填充JQuery DataTable
- 如何访问UIWebView'的子窗口上下文
- 使用 jQuery 检查所有值是否为空或已填充
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- HTML5画布-如何填充()特定的上下文
- Handlebars模板未填充上下文
- 上下文的变量.填充文本
- 画布 html5 中的透明度上下文.填充样式
- 为什么我不能设置上下文.在我创建我的画布后立即填充样式
- 如何填充动态车把与上下文在Ember
- 从外部源/文件填充Chrome上下文菜单