在子布局中,是否可以定义一个前端变量,其范围仅限于使用此布局的模板?
例如,给定子布局child.hbs:
---
layout: parent.hbs
layout_script: childScript.js
---
父布局parent.hbs:
{{#if layout_script}}
<script src="assets/js/{{layout_script}}">
{{/if}}
我希望我的父布局在从child.hbs继承的页面上包含脚本标记 。相反,layout_script
变为全局,并且在使用parent.hbs的所有页面上输出脚本。
作为参考,父布局的实际代码是here。我们希望脚本仅在使用子布局benefits.hbs的页面上构建。
答案 0 :(得分:1)
汇编0.4.x中存在一个错误,其中数据在页面中持续存在,因为它在构建期间扩展到全局上下文中。这是我们在下一版本中修复的内容,但在0.4.x中不可用。
作为一种解决方法,您应该能够将layout_script
设置为false
的任何其他子布局,以便它不会被使用:
---
layout_script: false
---
答案 1 :(得分:0)
我认为您需要将parent.hbs更改为以下内容:
{{#if data.layout_script}}
<script src="assets/js/{{layout_script}}">
{{/if}}
看看是否有效。