无法看到模板

时间:2015-09-26 13:49:35

标签: backbone.js

我正在尝试使用HTML中的if将变量设置为模板。问题是我无法看到我的模板,也没有日志中的任何错误。我可以看到元素在HTML中,但仍然无法看到它。

模板是:

   <div class="list-group">                                                                             
       <div id="table_template">                                                                        
         <div id ="table"></div>                                                                        
               <script type="text/template" id="nextPage">                                              
               <% if (nextLink != "") { %>                                                       
               <nav><ul class="pager"><li><a href="#" id="next_page" >Next</a></li> </ul> </nav>        
               <%}%>                                                                           
                 </script>                                                                              
           </div>                                                                                       
       </div>                                                                                           
   </div>                                                                                               

和视图:

  var template = _.template($('#nextPage').html());
    view.$el.find('#nextPage').html(template(listSongs));     

更新:如果我有脚本标记,看起来我无法看到它。

1 个答案:

答案 0 :(得分:1)

使用脚本标记,以便浏览器不会将该片段呈现到整个DOM中。你这样做是假设脚本标签将打印到视图中但不会。您需要将其注入视图中。试试这个:

<div class="list-group">                                                                             
   <div id="table_template">                                                                        
     <div id ="table"></div><div id="nextPage"></div>
           <script type="text/template" id="nextPageTemplate">                                              
           <% if (nextLink != "") { %>                                                       
           <nav><ul class="pager"><li><a href="#" id="next_page" >Next</a></li> </ul> </nav>        
           <%}%>                                                                           
             </script>                                                                              
       </div>                                                                                       
   </div>                                                                                           

然后在您看来它看起来像这样:

var template = _.template($('#nextPageTemplate').html());
view.$el.find('#nextPage').html(template(listSongs)); 

现在我不确定你的观点El是否是“列表组”(但我希望是这样)。