簡體   English   中英

車把模板未填充上下文

[英]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>

我在這里想念什么嗎? 我不確定會出什么問題,因為我實質上是復制了handlebars示例

由於我使用的是Flask ,因此腳本是用Jinja渲染的html文件編寫的。

因為沒有將名為last4exp_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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM