小横 2016-01-19 00:15 采纳率: 100%
浏览 1784
已采纳

nodejs express中handlebars 报错

nodejs express中自定义handlebars helps,页面中写有类似{{fuctt num}}时就是打不开网页

 {{#section "head"}}
    <script type="text/javascript" src="js/jquery-1.11.3.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.3.0/handlebars.min.js"></script>
    <script type="text/javascript" src="js/myjs.js"></script>

        <script id="some-template" type="text/x-handlebars-template">
        <table>
            <thead>
            <th>Username</th>
            <th>Real Name</th>
            <th>Email</th>
            </thead>
            <tbody>
            {{#if users}}
            <tr>
                <td>{{username}}</td>
                <td>{{firstName}} {{lastName}}</td>
                <td>{{email}}</td>
            </tr>
            {{else}}
            <tr>
                <td colspan="3">NO users!</td>
            </tr>
            {{/if}}
            </tbody>
        </table>
    </script>
  <script id="helper-template" type="text/x-handlebars-template">
        <div>
##             <h1>By {{fullName author}}</h1>****/*此处报错打不开网页,备注后能打开*/****
            <div>{{body}}</div>

            <h1>Comments</h1>

            {{#each comments}}
            <h2>By {{!-- {{fullName author}} --}}</h2>
            <h2>{{body}}</h2>
                {{/each}}
            </div>
    </script>
{{/section}}
 <h2>Simple handlebars demo</h2>
    <button id="btn_simple">Click me</button>
    <div id="my_div">

    </div>
    <h2>Handlebars Helpers demo</h2>
    <button id="btn_helper">Click me</button>
    <div id="helper_div">

    </div>

## **其余引用文档都能加载

## 下面是js文件**

     $(document).ready(function(){  
        Handlebars.registerHelper('fullName', function(person) {  
          return person.firstName + "这就对了 " + person.lastName;
        });  
      $("#btn_simple").click(function(){  

          alert("first button")
        showTemplate();  
      });  
       $("#btn_helper").click(function(){  

        showHowUseHelper();  
      });  
    });  
    // var context = {title: "My New Post", body: "This is my first post!"};  
    var persion = {title :"My New Post",body:"This is my first post!"}  
    function showTemplate(){  
        var source   = $("#some-template").html();  
        var template = Handlebars.compile(source);  
          var data = { users: [  
              {username: "alan", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" },  
              {username: "allison", firstName: "Allison", lastName: "House", email: "allison@test.com" },  
              {username: "ryan", firstName: "Ryan", lastName: "Carson", email: "ryan@test.com" }  
            ]};  
          $("#my_div").html(template(data));;  
    }  

    function showHowUseHelper(){  
        var context = {  
          author: {firstName: "Alan", lastName: "Johnson"},  
          body: "I Love Handlebars",  
          comments: [{  
            author: {firstName: "Yehuda", lastName: "Katz"},  
            body: "Me too!"  
          }]  
        };  
        var source   = $("#helper-template").html();  
        var template = Handlebars.compile(source);  
        $("#helper_div").html(template(context));;  

    }  
  • 写回答

3条回答

  • zangjiali 2016-01-19 05:06
    关注
    \{{fullName author}} 
    

    我们必须转义至少一个大括号,否则,服务器端视图会尝试对其进行替换。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况