2017-07-21 19 views
1

私は大きな商取引でステンシルプラットフォームに取り組んでいます。このプラットフォームはハンドルバー構文を使用します。私は、私のURLに、window.location.pathnameのようなパラメータの値に基づいて値を設定できる必要があり、サイト全体でこの新しい変数にアクセスできる必要があります。私は、通常のJavaScriptを使用して何か別の方法で仕事をさせることができますが、サイト全体のあらゆる場所でスクリプトを再作成したくありません。基本的に、2つのバニラスクリプトのうちの1つを書式設定用のハンドルバーに入れるのに役立つことができます。ハンドルバーに変数を割り当てる

+0

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

は最後に、変数(複数可)を使用します。 – 76484

+0

@ 76484サース社がテンプレートエンジンとして使用しています。ハンドルバーの実装は、素敵なコントロールの外にあります – Alyss

+0

あなたがハンドルバーに入れたいと思う特別な理由はありますか?このスクリプトは、クライアント側でステンシルを使用するように見えます。 – Alyss

答えて

0

あなたが設定し、ハンドルバー内のローカル変数を使用しようとしている場合は、このような何かをしようと事前に

<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> 

ありがとう::どのような作品を私は持っているが下に表示され

まず、ヘルパー関数を作成します。

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

次に、変数を設定します。あなたがハンドルバーを使用しているどのように私たちを見る場合には役立つかもしれない

<div> 
    <h1>{{greeting}}</h1> 
</div> 

document.getElementById("BrandLogo").innerHTML = {{branding}}; 
関連する問題