javascript - Handlebars 示例不起作用

标签 javascript handlebars.js client-side-templating

在我的节点服务器交付的 .hbs 中:

<script src="/javascripts/handlebars.min-latest.js"></script>

<script id="entry-template" type="text/x-handlebars-template">
  <div class="entry">
    <h3>{{title}}</h3>
    <div class="body">
      {{body}}
    </div>
  </div>
</script>

在我的客户端 javascript 文件中:

var source   = $("#entry-template").html();
var template = Handlebars.compile(source);
var context = {title: "My New Post", body: "This is my first post!"};
var html    = template(context);
console.log(html);

我的输出:

<div class="entry">
    <h3></h3>
    <div class="body">

    </div>
</div>

基本上,即使在他们的首页上有最简单的例子,它也不起作用。是因为我在前端和后端都使用了 Handlebars 吗?如果是这样,我该如何解决?

最佳答案

如果您在后端和前端都使用 Handlebars,则有一个简单的解决方法。只需像 \{{myVar}} 一样通过在它们的前面添加一个 \ 来转义为您的前端解析器准备的变量,并保留要使用的变量由服务器解析为{{myServerVar}}

<script type="text/x-handlebars-template" id="my-row-template"> ​
    <tr>
        <td></td>
        <td>\{{fieldName}}</td>
    </tr>
</script>

关于javascript - Handlebars 示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40166603/

相关文章:

handlebars.js - 如何让 Handlebars 布局在 node/hapi.js 中工作

javascript - 更改/注销 Handlebars 助手(Meteor)

ember.js - 您可以使用两个HTML模板,例如Handlebars和Jinja

javascript - 使用隐藏状态而不是注释或自定义脚本标记来模板化 HTML

javascript - 用尖括号和方括号显示的 Chrome 控制台对象属性

javascript - 在输入 onChange 上强调和延迟 React 的 setState

javascript - 计算表格中所选项目的总计

javascript - js 并在加载前编辑 url - 如何执行此操作

node.js - ejs模板的客户端和服务器端渲染

javascript - Django 和客户端 javascript 模板