2013-03-20 141 views
0

部分是用這種方式,但我得到的輸出爲undefined。創建了兩個從父級繼承的模板文件父級和子級。如何使用防塵js部分

parent.tl:

  <div><span><label>{+title}New{/title}</label></div> 

child.tl:

  {>"parent"/} 
      {<title} 
     {#t} 
      <p>NEW {title1} For the Child</p> 
     {/t}  
     {/title} 

我編譯使用dustr這些模板,並將其作爲我的HTML .js文件。

  <script src="https://raw.github.com/akdubya/dustjs/master/dist/dust-full-0.3.0.min.js"></script> 
      <script src="parent.js"></script> 
      <script src="child_template.js"></script> 
      <div id="new"></div> 
      <script> 
      var r=document.getElementById("new"); 
      dust.render("demo", {t:{"title1":"Ram"}}, function(err, out) { 
      r.innerHTML=out; 
      }); 
      </script> 
+0

嘗試刪除在父鍵上的引號試試這個:{> parent /} – JAiro 2013-03-20 14:46:39

+0

我已經刪除了引號,它的工作原理是當我刪除上下文「t」並覆蓋父親

...

沒有{title1}。上下文是否造成問題? – user2189950 2013-03-21 03:59:29

回答

0

這取決於部分被編譯時命名的內容。 ?是你的孩子的模板命名demo(或者childchild_templatechild_template.tl是您的父模板命名parent也許parent.tl

要調試,就可以打印出err到控制檯:

dust.render("demo", {t:{"title1":"Ram"}}, function(err, out) { 
    console.log(err); 
    r.innerHTML = out; 
}); 
+0

我不知道將子模板設置爲「演示」並將父模板命名爲「父級」。當我用「

新對於兒童

」代替t的上下文(即{#t}

NEW {title1}對於兒童

{/ t}),其工作正常。你能否澄清爲什麼上下文設置在部分情況下是個問題? – user2189950 2013-03-20 17:25:54