有没有办法使用Handlebars.js通过jQuery注入模板?

Is there a way to use Handlebars.js to inject a template using jQuery?

提问人:Zach Nelson 提问时间:1/12/2021 更新时间:1/12/2021 访问量:64

问:

我正在使用 Big Commerce/Stencil CLI,我在 javascript 文件中,试图通过它们的类来定位元素并将车把模板注入它的 HTML 中,但我无法找到很多关于这个主题的内容。此代码似乎在我的一个 theme-bundle.chunk 文件中抛出“错误:模块构建失败”。

我的代码:

if (el.getAttribute('data-swatch-0') !== null) {
        $(".category-swatch-container").innerHTML({{{ > components/ud-custom/ud-category-swatches}}});
      }
JavaScript jQuery 模板 handlebars:.js

评论


答:

0赞 Deadron 1/12/2021 #1

你可以取决于你到底要完成什么。在最基本的车把上,它接受一个模板字符串和参数,然后生成一个输出字符串。jQuery html 方法可以接受有效 html 字符串并插入它。

这里的问题是,看起来您正在尝试在后端进行此替换。您可以这样做,但它是一个不寻常的配置,可能需要显式添加。您需要告诉后端将对 js 文件的请求视为将文件作为车把模板执行。根据您的后端框架,这可能就像添加配置选项一样简单,或者您可能需要添加生成 js 文件的显式路由。

如果你想做这个客户端,你需要确保你已经添加了车把作为客户端依赖项。然后,您只需要使模板在客户端可用。然后,您可以直接调用 handlebars 库来生成一个可以馈送到 $.html 的 String