首页 > 解决方案 > 绑定到 srcset 属性不适用于 KnockoutJS

问题描述

你如何绑定到srcsetin KnockoutJS

我尝试使用他们文档中的“attr”绑定

<picture>
    <source data-bind="attr: { srcset: require.toUrl('/Vendor_Module/images/mobile-version.png')" media="(max-width: 767px)" />
    <source data-bind="attr: { srcset: require.toUrl('/Vendor_Module/images/desktop-version.png')" />
    <img data-bind="attr: { src: require.toUrl('/Vendor_Module/images/desktop-version.png')/>
</picture>

生成的标记是...

<picture>
    <source data-bind="attr: { srcset: require.toUrl('/Vendor_Module/images/card-mobile.png')" media="(max-width: 767px)" />
    <source data-bind="attr: { srcset: require.toUrl('/Vendor_Module//images/card-desktop.png')" />
    <img data-bind="attr: { src: require.toUrl('/Vendor_Module/images/card-desktop.png') src="https://example.com/static/version1527767610/frontend/vendor/theme/en_US/Vendor_Module/images/desktop-version.png" />
</picture>

标签: knockout.jsmagento2

解决方案


(捂脸)

我只是在“attr”绑定}的末尾错过了一个。

所以这...

<source data-bind="attr: { srcset: require.toUrl('/Vendor_Module/images/desktop-version.png')" />

变成了这个……

<source data-bind="attr: { srcset:  require.toUrl('/Vendor_Module/images/desktop-version.png')}" />

推荐阅读