2012-07-27 48 views
12

我想,以產生一段JavaScript代碼使用變量從我jsrender模板,但我無法弄清楚如何將一個<script type="text/javascript">內我<script id="data-item-tpl" type="text/x-jsrender">嵌入的腳本來jsrender模板

希望以下相當清楚。下面的代碼產生一個。如果我從嵌入的腳本中刪除標籤,那麼它就會以文本的形式直接打印到頁面上。

在下面的代碼,我想生成具有ID的DIV「chartId」,然後一個腳本,將填充內容DIV,通過MyChart對象。

<script id="data-item-tpl" type="text/x-jsrender"> 
    <div class="item"> 
     <div class="graphs"> 
      <ul class="thumbnails"> 
       {{for graphs}} 
       <li><div class="thumbnail"><img src="{{html:url}}" width="190" height="120" /><p>{{html:graphTitle}}<br />{{html:value}}</p></div></li> 
       {{/for}} 
       <!-- Here we insert both the placeholder for, and the javascript to populate charts --> 
       <li><div id="{{html:chartId}}" style="width:120;height:190px;"></div></li> 
       <script type="text/javascript"> 
        var chartObj = new MyChart("{{html:chartId}}"); 
        chartObj.render(); 
       </script> 
      </ul>       
     </div> 
     ... 
</script> 

回答

13

我只是做了一點點玩耍,並能得到它的工作是這樣的:

{{:"<scr" + "ipt type=&quot;text/javascript&quot;>"}} 
    var chartObj = new MyChart("{{html:chartId}}"); 
    chartObj.render(); 
{{:"</scr" + "ipt>"}} 

也許不是最完美的解決方案,但是當我把一個alert那裏,它被解僱。

+0

有點哈克,但是,是的,它的工作原理!謝謝。 – Ina 2012-07-31 20:57:31

+1

是的!這就是所有編寫網絡代碼的人都必須經常生活的代碼質量。 Web技術吸引。期。謝謝! – user2173353 2014-01-03 15:36:59

+0

我在監視窗口中看到「太多非法字符」錯誤。我無法使用它。 – Shesha 2016-05-05 05:32:44