2014-11-06 98 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