2012-02-08 52 views
0

我正在使用backbonejs與節點js試圖將變量從骨幹視圖傳遞到模板(html文件)。渲染視圖模板函數是這樣的:有參考錯誤在下劃線js模板

render: function(event){ 
     var compiled_template = _.template($("#results-template").html()); 
     console.log(myPhoto.toJSON()); 
     $(this.el).html(compiled_template(myPhoto.toJSON()));  
     return this; 
    } 

myPhoto值:

{ 
     src: 'placeholder.jpg', 
     title: 'an image placeholder', 
     coordinates: [0,0], 
     tags: ['untagged'], 
     location: 'home' 
} 

,並在HTML文件中:

<script id="results-template" type="text/template">    
     <h2><%= title %></h2> 
     <p>testing....</p> 
    </script> 

當我執行它給像

錯誤
ReferenceError: c:\trello\testApp/views/test.html:19 
    17|  <script id="results-template" type="text/template">  
    18|   
>> 19|   <h2><%= title %></h2>   
    20|   <p>testing....</p> 
    21|  </script> 
    22|  

title is not defined 
    at Object.<anonymous> (eval at <anonymous> (c:\trello\node_modules\ejs\lib\ejs.js:203:1)) 
    at Object.<anonymous> (c:\trello\node_modules\ejs\lib\ejs.js:201:15) 
    at ServerResponse._render (c:\trello\node_modules\express\lib\view.js:425:21) 
    at ServerResponse.render (c:\trello\node_modules\express\lib\view.js:318:17) 
    at c:\trello\testApp\test.js:23:16 
    at callbacks (c:\trello\node_modules\express\lib\router\index.js:272:11) 
    at param (c:\trello\node_modules\express\lib\router\index.js:246:11) 
    at pass (c:\trello\node_modules\express\lib\router\index.js:253:5) 
    at Router._dispatch (c:\trello\node_modules\express\lib\router\index.js:280:4) 
    at Object.handle (c:\trello\node_modules\express\lib\router\index.js:45:10) 

如何解決這個???

+0

是的,它正在工作,但是當我執行使用node.js然後它給了我錯誤。 – 2012-02-08 09:08:08

+0

我在服務器端使用node.js/ejs,在客戶端使用backbone.js。服務器端和客戶端都使用相同的模板樣式。所以問題是,如果我把模板代碼放在一個模板裏面,那麼就不會得到解析。 – 2012-02-08 09:46:47

回答

0

你確定你的所有照片都有標題嗎?空屬性可能會導致此錯誤。您可以通過在骨幹模型類中添加默認值(例如空字符串)來解決此問題。