我正在研究大型商业的模板平台。此平台使用手柄语法。我需要能够根据我的网址中的一个参数设置一个值,更像是' window.location.pathname',我需要能够在整个网站上访问这个新变量。我能够使用常规JavaScript以两种不同的方式工作,但我不想在整个站点的每个地方重新创建我的脚本。所以基本上,我可以使用一些帮助将我的2个香草脚本中的一个放入把手进行格式化。我的工作原理如下所示:
<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>
提前致谢
答案 0 :(得分:5)
如果您尝试在把手内设置和使用局部变量,请尝试以下方法:
首先,创建一个辅助函数:
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>{{greeting}}</h1>
</div>
document.getElementById("BrandLogo").innerHTML = {{branding}};