gpt4 book ai didi

javascript - 在 Handlebars 中分配一个变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:30:22 34 4
gpt4 key购买 nike

我在大型商业的模板平台上工作。该平台使用 handlebars 语法。我需要能够根据我的 URL 中的一个参数设置一个值,更像是“window.location.pathname”,并且我需要能够跨站点访问这个新变量。我能够使用常规 JavaScript 使某些东西以两种不同的方式工作,但我不想在整个站点的每个地方都重新创建我的脚本。所以基本上,我可以使用一些帮助将我的 2 个原始脚本之一放入 Handlebars 中以进行格式化。我的工作原理如下所示:

<p id="BrandLogo"></p>
<script>
var directory = window.location.pathname;
var branding;
var str = directory.includes("blackvue");
if (str === false) {
branding = value one;
} else {
branding = value 2
}
document.getElementById("BrandLogo").innerHTML = branding;
</script>

<p id="BrandLogo"></p>
<script>
var directory = window.location.pathname;
var branding;
if (str == '/URL-I-Want-To-Focus-On/') {
branding = value one;
} else {
branding = value 2
}
document.getElementById("BrandLogo").innerHTML = branding;
</script>

提前致谢

最佳答案

如果您尝试在 Handlebars 中设置和使用局部变量,请尝试如下操作:

首先,创建一个名为“setVar”的辅助函数:

var handlebars = require('handlebars');
handlebars.registerHelper("setVar", function(varName, varValue, options) {
options.data.root[varName] = varValue;
});

接下来,使用您在第一步中创建的函数设置您的变量。

{{setVar "greeting" "Hello World!"}}
{{#if some-condition}}
{{setVar "branding" "Value one"}}
{{else}}
{{setVar "branding" "Value 2"}}
{{/if}}

最后,在您的页面上使用变量:

<div>
<h1 id="BrandLogo">{{greeting}}</h1>
</div>

document.getElementById("BrandLogo").innerHTML = {{branding}};

关于javascript - 在 Handlebars 中分配一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45241022/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com