首页 > 解决方案 > 原版 HTML+JS - 动态插值?

问题描述

我知道在 Handlebars 等框架中。可以编写类似于以下内容的 HTML:

<span id="logged-on-username">{{username}}</span>

在这个人为的示例中,在此页面上加载的 JS 文件将返回名为 username 的变量的值并将其插入到视图模板中。

香草 HTML + JS 中是否有类似的可能?

提前感谢任何碰巧回答的人的时间。

标签: javascripthtmlinterpolationtemplating-engine

解决方案


你的意思是这样的

const content = {
  "username": "Fredy Kruger",
  "status": "Scary",
}
window.addEventListener("load", function() {
  [...document.querySelectorAll("span.dynamic")].forEach(span => {
    const match = span.textContent.match(/{{(.*?)}}/)
    if (match.length === 2) span.innerText = content[match[1]]
  })
})
Name: <span class="dynamic" id="logged-on-username">{{username}}</span><br/> 
Status: <span class="dynamic">{{status}}</span><br/>


推荐阅读