3

子レイアウトで、このレイアウトを使用するテンプレートにスコープが制限されている frontmatter 変数を定義することは可能ですか?

たとえば、子レイアウト child.hbs があるとします。

---
layout: parent.hbs
layout_script: childScript.js
---

親レイアウトのparent.hbs:

{{#if layout_script}}
<script src="assets/js/{{layout_script}}">
{{/if}}

親レイアウトに、 child.hbs から継承するページにのみscript タグを含めたいと考えています。代わりにlayout_scriptグローバルになり、parent.hbs を使用するすべてのページでスクリプトが出力されます。

参考までに、親レイアウトの実際のコードはこちらです。子レイアウトのbenefits.hbsを使用するページでのみスクリプトをビルドする必要があります。

関連する質問

4

2 に答える 2

1

アセンブル 0.4.x にはバグがあり、ビルド中にデータがグローバル コンテキストに拡張されるため、ページ間でデータが保持されます。これは次のバージョンで修正する予定ですが、0.4.x では利用できません。

layout_script回避策として、他の子レイアウトをfalse使用しないように設定できるはずです。

---
layout_script: false
---
于 2014-07-10T18:47:03.880 に答える