Handlebars.js:{{this.url}}在<img src =“ {{this.url}}”>内不起作用

时间:2019-06-19 14:23:12

标签: javascript html handlebars.js wordpress-rest-api

Handlebars.js不会解析代码,如果我将其放在/ etc中。 只要在外面,它就可以正常工作。

<script id="entry-template" type="text/x-handlebars-template">
    <div class="entry">
        {{#each this}}
        <h1>{{title.rendered}}</h1>
        <div>{{content.rendered}}</div>

        <img src="{{url}}" alt=""/>
        {{/each}}
    </div>
</script>

我希望得到

<img src="http://localhost/image.jpg" alt=""/>

但输出如下:

<img src="{{url}}" alt=""/>

似乎其他所有方法都起作用。循环也是如此。

1 个答案:

答案 0 :(得分:1)

使用

<script id="t" type="text/x-handlebars-template">
    <img class="someClass" src="{{url}}">
</script>
  

模板很少有效且格式正确,因此您需要   阻止浏览器尝试将模板解释为HTML。通常   方法是将模板存储在非HTML类型的

或使用三括号

<img src="{{{your source}}}" alt={{{your alt}}} />

Handlebars HTML-escapes values returned by a {{expression}}. If you don't want Handlebars to escape a value, use the "triple-stash",
     

{{{       {{{foo}}}

来源:http://handlebarsjs.com/expressions.html

通过以下网址找到:https://github.com/wycats/handlebars-site/issues/28