首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在handlebars中赋值变量

在handlebars中赋值变量
EN

Stack Overflow用户
提问于 2017-07-21 23:07:44
回答 1查看 19.5K关注 0票数 5

我在大型商业的模具平台上工作。该平台使用handlebars语法。我需要能够基于URL中的一个参数来设置一个值,更像是“window.location.pathname”,并且我需要能够在整个站点中访问这个新变量。我可以使用常规的JavaScript以两种不同的方式工作,但我不想在整个站点的每个地方重新创建我的脚本。所以基本上,我需要一些帮助,将我的2个普通脚本中的一个放到一个把手中进行格式化。我有的工作如下所示:

代码语言:javascript
复制
<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>

代码语言:javascript
复制
<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>

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2017-08-19 13:12:03

如果您尝试在handlebars中设置和使用局部变量,请尝试如下所示:

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

代码语言:javascript
复制
var handlebars = require('handlebars');
handlebars.registerHelper("setVar", function(varName, varValue, options) {
  options.data.root[varName] = varValue;
});

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

代码语言:javascript
复制
{{setVar "greeting" "Hello World!"}}
{{#if some-condition}}
    {{setVar "branding" "Value one"}}
{{else}}
    {{setVar "branding" "Value 2"}}
{{/if}}

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

代码语言:javascript
复制
<div>
  <h1 id="BrandLogo">{{greeting}}</h1>
</div>

document.getElementById("BrandLogo").innerHTML = {{branding}};
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45241022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档