用[src]绑定更改图像src吗? (用于电子邮件的放大器)

时间:2019-10-01 21:37:26

标签: amp-html amp-email

在amp-bind Amp for Email文档页面上,显示了一个将[src]绑定到amp-img来更改图像源路径的示例(稍微复杂一些):

<amp-state id="myAnimals">
  <script type="application/json">
    {
      "dog": {
        "imageUrl": "/img/dog.jpg",
        "style": "greenBackground"
      }
    }
  </script>
</amp-state>

<!-- Or change an image's src with the [src] binding. -->
<amp-img width="300" height="200" src="/img/dog.jpg"
    [src]="myAnimals[currentAnimal].imageUrl">
</amp-img>

但是,当我在Playground中验证时,我得到: 属性“ [src]”可能不会出现在标记“ AMP-IMG(AMP4EMAIL)”中。

我正在尝试与Carousel组件(type =“ slides”)进行类似的操作,当我单击下一个/上一个幻灯片时,我希望更改电子邮件中其他位置的复制/图像。虽然可以更改副本,但似乎无法对图像进行相同的更改。

是否无法使用Amp for Email的amp-bind组件更改图像源路径?有解决方法吗?

1 个答案:

答案 0 :(得分:0)

Vadim,您可以通过amp-mustache使用模板来修改amp-img的src属性。例如

<amp-list ...>
...
 <template type="amp-mustache">
    <div class="products">
        <amp-img width="150"
               height="100"
               alt="{{name}}"
               src="{{img}}"></amp-img>
        <p class="name">{{name}}</p>
        <p class="star">{{{stars}}}</p>
        <p class="price">{{price}}</p>
    </div>
</template>

...

我想不出为什么无法在src上进行绑定(尽管似乎可以回答安全性)的设计决策。因此,很不幸,如果您发现模板仅在嵌套在amp-form或amp-list组件中时适用。如果有足够引人注目的用例可以在这些组件之外提供对它的支持,请随时创建功能请求,我们非常乐于与您一起定义需求和实施更改。谢谢