gpt4 book ai didi

javascript - Handlebars 模板未填写上下文

转载 作者:行者123 更新时间:2023-11-30 16:10:23 25 4
gpt4 key购买 nike

我正在构建一个 Flask 应用程序并有一些客户端 HTML 渲染,我想使用 Handlebars 模板来完成。

我有以下非常基本的 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>

我按如下方式使用它(与 Handlebars 教程中的完全一样):

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>

我是不是漏掉了什么?我不确定会出现什么问题,因为我基本上复制了 handlebars example .

最佳答案

由于我使用的是 Flask,因此我将脚本编写在由 Jinja 呈现的 html 文件中。

因为没有名为 last4exp_month或 exp_year 的变量传递到 Flask 的 render_template() 函数中,它将它们替换为空,使 handlebars 模板没有变量。

解决方案是在脚本周围使用 {% 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 - Handlebars 模板未填写上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36345395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com