を使用して、鍵作品explaineことができます:その後、誰かが私は現在、私のウェブサイトのためのHandlebar.jsを使用していると私は私のビューのいずれかで、次のコードを持っているか#ifeq ../section handlebar.js
{{# each navLinks}}
{{#ifeq ../section key}}
{{key}}
{{else}}
{{/ifeq}}
{{/each}}
そして、
locals.navLinks = [
{ label: 'Projects', key: 'projects', href: '/projects' },
{ label: 'Journey', key: 'journey', href: '/journey' },
{ label: 'Social media', key: 'social', href: '/social' },
{ label: 'Reach me', key: 'contact', href: '/contact' }
];
をそしてヘルパー関数があります:私のミドルウェアに私が持っている
// standard hbs equality check, pass in two values from template
// {{#ifeq keyToCheck data.myKey}} [requires an else blockin template regardless]
_helpers.ifeq = function(a, b, options) {
if (a == b) {
return options.fn(this);
} else {
return options.inverse(this);
}
};
私はことを理解しますは、locals.navlinks
の配列を通過することを意味します。
しかし、{{#ifeq ../section key}}
はどのように機能しますか? ../sectionという配列内のオブジェクトキーへの参照や、{{#if
の後のeq
への参照はありません。
また{{# each navLinks}}
と{{#ifeq ../section key}}
の#
の目的は何ですか?
最後に私の最終目標は次のようにハンドルを使用して私の見解で何かを書くことになります:
if (navlinks.key === 'projects') {
class="A"
} else {
class="B"
}
どれ説明は素晴らしいことです。
ありがとうございました。
ジュール
あなたの質問に答えて(あなた自身の答えで)マークしてください。また、ブロックはハンドルバーにポンド記号(#)とそれに続く式で表されます。ブロックは{{/ expression}}を閉じることで終わります。 –