Javascript 如何将变量传递给手柄中的零件(带Assembly的v1.3)?

Javascript 如何将变量传递给手柄中的零件(带Assembly的v1.3)?,javascript,html,handlebars.js,assemble,picturefill,Javascript,Html,Handlebars.js,Assemble,Picturefill,我正在使用,它目前使用的是车把1.3。在我的模板中,我使用picture元素with,它使用当前的spec语法: <picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="assets/img/responsive/example-xl.jpg" media="(min-width: 1000px)"> <sou

我正在使用,它目前使用的是车把1.3。在我的模板中,我使用picture元素with,它使用当前的spec
语法:

<picture>
  <!--[if IE 9]><video style="display: none;"><![endif]-->
  <source srcset="assets/img/responsive/example-xl.jpg" media="(min-width: 1000px)">
  <source srcset="assets/img/responsive/example-l.jpg" media="(min-width: 800px)">
  <source srcset="assets/img/responsive/example-m.jpg">
  <!--[if IE 9]></video><![endif]-->
  <img srcset="assets/img/responsive/example-m.jpg" alt="An example responsive image">
</picture>
用这部分

<picture>
  <!--[if IE 9]><video style="display: none;"><![endif]-->
  <source srcset="assets/img/responsive/{{name}}-xl{{ext}}" media="(min-width: 1000px)">
  <source srcset="assets/img/responsive/{{name}}-l{{ext}}" media="(min-width: 800px)">
  <source srcset="assets/img/responsive/{{name}}-m{{ext}}">
  <!--[if IE 9]></video><![endif]-->
  <img srcset="assets/img/responsive/{{name}}-m{{ext}}" alt="{{alt}}">
</picture>

有没有办法用我的车把版本做到这一点?我知道这是Handlebars 2.0中的原生版本,但不幸的是,我无法将其更新到该版本,因为它集成在Assembly中。或者有没有其他推荐的方法



p、 美国:我读过关于使用
{{>picture this}}
,但我不确定是否以及如何在一个页面中使用多个图片(以及在一个部分中使用多个变量)。另外,我也尝试过使用,但这种语法有点笨拙,比我上面描述的更详细,所以我想知道是否有更有效的方法来执行类似操作。

如果将此与Assembly处理数据文件的方式结合起来,您可以有一个名为
pictures.json
pictures.yaml
的数据文件(取决于您希望如何管理数据)

pictures.json
中:

{
  "example": {
    "name": "example",
    "ext": ".jpg",
    "alt": "Example image"
  },
  "another": {
    "name": "another",
    "ext": ".png",
    "alt": "Another example image"
  }
}
然后,您可以使用上面提到的语法调用Handlebar文件的分部:

{{> picture pictures.example}}
{{> picture pictures.another}}
现在,
picture
partial的上下文是传入的json对象,因此您可以一般地引用片段:

<picture>
  <!--[if IE 9]><video style="display: none;"><![endif]-->
  <source srcset="assets/img/responsive/{{name}}-xl{{ext}}" media="(min-width: 1000px)">
  <source srcset="assets/img/responsive/{{name}}-l{{ext}}" media="(min-width: 800px)">
  <source srcset="assets/img/responsive/{{name}}-m{{ext}}">
  <!--[if IE 9]></video><![endif]-->
  <img srcset="assets/img/responsive/{{name}}-m{{ext}}" alt="{{alt}}">
</picture>

我希望这会有帮助,直到我们得到装配更新到使用车把2.0

<picture>
  <!--[if IE 9]><video style="display: none;"><![endif]-->
  <source srcset="assets/img/responsive/{{name}}-xl{{ext}}" media="(min-width: 1000px)">
  <source srcset="assets/img/responsive/{{name}}-l{{ext}}" media="(min-width: 800px)">
  <source srcset="assets/img/responsive/{{name}}-m{{ext}}">
  <!--[if IE 9]></video><![endif]-->
  <img srcset="assets/img/responsive/{{name}}-m{{ext}}" alt="{{alt}}">
</picture>