在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组件更改图像源路径?有解决方法吗?
答案 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组件中时适用。如果有足够引人注目的用例可以在这些组件之外提供对它的支持,请随时创建功能请求,我们非常乐于与您一起定义需求和实施更改。谢谢