2014-11-06 43 views
0

我正在尋找使用Handlbars模板作爲我的項目。 可以handlebars返回一個DOM對象,或者它只能返回HTML。 例如,如果我想追加一個孩子到一個DIV,我可以調用DIV.appendChild(myTemplate); 事情是這樣的:把手/模板使用模板作爲對象

var parentDiv = document.getElementById("parentDiv"); 
for(var i = 0;i<myData.length;i++){ 
    var source = $("#my-template").html(); 
    var template = Handlebars.compile(source); 
    var values = myData[i]; 
    parentDiv.appendChild(template(values)); 
} 

由此我得到的appendChild的ARG 1不是拋出的對象錯誤,因爲渲染的模板是HTML /串。

有什麼我可以調用把手來gerenate對象嗎?

我試圖將模板化太遠,還是有另一種解決方案,以這種方式行事,還是我堅持手動編寫createElement?

回答

2

我相信你正在尋找this

使用element.insertAdjecentHTML方法追加HTML字符串和DOM應該將其轉換成一組節點。 所以,你可以寫這樣的事情:

parentDiv.insertAdjacentHTML('beforeend', template(values)); 
+0

那上有一個很好的鏈接,謝謝,一些有趣的技術。 – Gurnard 2014-11-06 11:56:01