2013-02-11 15 views
0

我有一個簡單的例子,有把手,我無法使它工作!請幫忙。我試圖讓谷歌應用程序引擎的留言與車把代替Jinja2的無法獲得簡單的把手樣品

HTML /模板代碼的工作如下:

Hello {{user.nickname}} 
    <h2>Top 10 Most Recent Guestbook Entries</h2> 
     {{#each greetings}} 
      <br> 
      <small>[<i>{{date.ctime}}</i>]</small> 
      <b> 
      {{#if author}} 
       <code>{{author.nickname}}</code> 
      {{else}} 
       <i>anonymous</i> 
      {{/if}} 
      </b> 
      wrote: 
     {{comment}} 
     {{/each}} 
</script> 
<div id="comment_content"> </div> 
<form id="comments" action=""> 
    <div><textarea id="comment" name="content" rows="3" cols="60"></textarea></div> 
    <div><input id="comment_button" type="button" value="submit"></div> 
</form> 
<a href="{{ url }}">{{ url_linktext }}</a> 

這裏是JS代碼:

<script> 
    $(document).ready(function() { 
     var source = $("#entry-template"); 
     var srcHTML =source.html();  
     var template = Handlebars.compile(srcHTML); 
    // put all your jQuery goodness in here. 
     $("#comment_button").click(function(event) { 

      var data = JSON.stringify({ 
      "login": "/_ah/login?continue=http%3A//localhost%3A8080/show", 
      "logout": "/_ah/login?continue=http%3A//localhost%3A8080/show&action=Logout", 
      "user": { 
       "nickname": "dummy", 
       "email": "[email protected]" 
      }, 
      "greetings": [ 
      { 
      "comment": "COMMENT1", 
      "date": { 
       "ctime": "Sun Feb 10 23:20:21 2013" 
      }, 
      "author": { 
       "nickname": "dummy", 
       "email": "[email protected]" 
      } 
      } 
     ] 
     }) 
     var html = template(data); 
     console.log(html); 
     $("#comment_content").html(html); 
     }); 
    }); 
</script> 

這裏是我如何引用ncing車把源

Can someone please help? 

感謝密爾

回答

0

你的大問題是,你正在使用JSON.stringify準備您的數據編譯模板函數:

var data = JSON.stringify({ ... }); 
var html = template(data); 

這會當它只需要對象時,最終會向template函數傳遞一個字符串(它是您想要的數據的JSON表示)。放下JSON.stringify,事情將開始表現更好:

var data = { ... }; 
var html = template(data); 

演示:http://jsfiddle.net/ambiguous/Axmbd/

而且,你的HTML的這一部分:

<a href="{{ url }}">{{ url_linktext }}</a> 

沒有出現在裏面模板的<script>所以{{url}}{{url_linktext}}將不會填寫。您可以通過將該<a>移到正確的位置來解決該問題。

+0

非常感謝您的指點。非常感激。有用... – user1570124 2013-02-12 02:45:13