我在大型商业的模具平台上工作。该平台使用handlebars语法。我需要能够基于URL中的一个参数来设置一个值,更像是“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>提前感谢
发布于 2017-08-19 13:12:03
如果您尝试在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}};https://stackoverflow.com/questions/45241022
复制相似问题