【问题标题】:Handlebars/templating use template as an object车把/模板使用模板作为对象
【发布时间】:2014-11-06 11:03:17
【问题描述】:

我正在考虑为我的项目使用 Handlbars 模板。 把手可以返回 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));
}

从这里我得到一个 arg 1 of appendChild is not an object error throw, 因为渲染的模板是 html/string。

我可以在车把中调用什么来生成对象吗?

我是否试图将模板延伸得太远,或者是否有其他解决方案以这种方式运行,或者我是否坚持手动编写 createElement?

【问题讨论】:

    标签: javascript handlebars.js template-engine


    【解决方案1】:

    相信你在找this

    使用 element.insertAdjecentHTML 方法附加 html 字符串,dom 应将其转换为一组节点。 所以你可以写这样的东西:

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

    【讨论】:

    • 这是一个很好的链接,谢谢,那里有一些有趣的技术。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多