html 如何在VSCode中创建Handlebars模板

g2ieeal7  于 2023-08-01  发布在  Vscode
关注(0)|答案(1)|浏览(139)

我无法在VSCode中使用句柄显示HTML模板。我在一个HTML文件中创建了我的模板,其中包含script标签,它包含一个名为“text/x-handlebars-template”的类型属性。需要注意的一件事是,脚本标记在代码结束时改变了颜色,只要我在脚本中写入type属性。请看脚本末尾的灰色符号'<'。任何使此模板运行的建议都将非常有帮助。
下面是图片:
x1c 0d1x的数据
下面是我的HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>handlebars</title>
    <link rel="stylesheet" type="text/css" href="css/custom.css">
    <script src="https://cdn.jsdelivr.net/npm/handlebars@latest/dist/handlebars.js"></script>
</head>
<body>

    <div class="container">
        Hello!
    </div>

    <script id="template" type="text/x-handlebars-template">
        <h1>{{title}}</h1>
        <ol>
            {{#each list}}
                <li>{{this.name}}</li>
            {{/each}}
        </ol>
        <p>{{footer}}</p>

        <button onclick="fill_template()">fill template</button>       
    </script>
 
 
    <script src="js/main.js"></script>
</body>
</html>

字符串
这是我的'main.js'文件:

function fill_template() {
    let data = {
        title: "Why Handlebars are so cool!",
        list: [
            {name: "You can generate stuff"},
            {name: "It works on both ends"},
            {name: "It weighs like 24 kb"},
            {name: "haha templates go brrrrrr <b> bold </b>"}
        ],
        footer: "This is a footer"
    };
    let template = Handlebars.compile(document.querySelector("#template").innerHTML);
    let filled = template(data);
    document.querySelector("#output").innerHTML = filled;

}

7tofc5zh

7tofc5zh1#

我认为这是我的错误,因为我把按钮标记留在了脚本标记中。这就是为什么它不起作用的原因。我还添加了output div,它允许呈现数据。结尾处样式标记的颜色未导致任何问题。这样问题就解决了!再次感谢!

相关问题