我正在使用Angular 9,我很简单地尝试将img元素的属性“ loading”绑定到Angular属性。如果我在开发人员模式下运行该应用程序,但在生产模式下不运行,则此方法有效。
在我的模板中,我有这个:
<img [src]="image" [loading]="loading" [alt]="title">
并且在组件中我有这个:
import { Component, OnInit, Input } from '@angular/core'; @Component( { selector: 'image-card', templateUrl: './image-card.component.html', styleUrls: ['./image-card.component.scss'], }) export class ImageCardComponent implements OnInit { @Input() loading:"lazy" | "eager" = "lazy"; @Input() title:string; @Input() image?:string; constructor() { } ngOnInit() { this.image = this.image || "assets/images/default_image.jpg"; } }
这正在开发dev版本/ ng服务,但如果我运行prod版本:
ng build --prod
我收到错误:
无法绑定到“加载”,因为它不是“ img”的已知属性。
属性存在,https://caniuse.com/#search=loading为什么会出现错误?
我如何排除对产品构建的这种验证/限制?
例如,alt绑定工作正常,没有错误。
编辑:包括更好的代码示例。
我正在使用Angular 9,我很简单地尝试将img元素的属性“ loading”绑定到Angular属性。如果我在开发人员模式下运行应用程序,而在生产模式下不运行,则此方法有效。在我的模板中,我...
图像的loading
属性是一个非常新的属性,尚不被所有浏览器支持,并且也不是Angular。因此,您应该尝试使用[attr.loading]="loading"
语法,直到Angular将此视为本机HTML属性为止。