把手将部分变量的范围限制为一个后代

时间:2017-05-19 18:37:34

标签: scope handlebars.js patternlab.io atomic-design

使用把手可以通过这种方式将刺痛从一个部分传递到另一个部分:

父模板

<div class="two-col">
  {{>text-field parentclass="two-col__"}}
  {{>text-field parentclass="two-col__"}}
</div>

儿童模板

<div class="{{parentclass}}text-field">
  {{>atoms-labels}}
</div>

那个孩子的孩子

<label class="label">Label Text</label>

会导致

<div class="two-col">
  <div class="two-col__text-field">
    <label class="label">Label Text</label>
  </div>
</div>

但是,我希望在标签中有一个“父类”名称的占位符,以防另一个块(在此使用Atomic Design)想要引入该元素。如果始终可以使用{{parentclass}}(而不是每次都必须提出不同的占位符名称),那将是完美的。但是,传递字符串的范围不会停留在第一个孩子,它会一直到最后。

因此

<div class="two-col">
  {{>text-field parentclass="two-col__"}}
  {{>text-field parentclass="two-col__"}}
</div>

+

<div class="{{parentclass}}text-field">
  {{>atoms-labels}}
</div>

+

<label class="{{parentclass}}label">Label Text</label>

=

<div class="two-col">
  <div class="two-col__text-field">
    <label class="two-col__label">Label Text</label>
  </div>
</div>

有没有办法将该变量的范围限制为仅传递给直接后代?

0 个答案:

没有答案