Angular 9 |无法绑定到“正在加载”,因为它不是“ img”的已知属性]]

问题描述 投票:0回答:1

我正在使用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属性。如果我在开发人员模式下运行应用程序,而在生产模式下不运行,则此方法有效。在我的模板中,我...

angular image bind loading
1个回答
0
投票

图像的loading属性是一个非常新的属性,尚不被所有浏览器支持,并且也不是Angular。因此,您应该尝试使用[attr.loading]="loading"语法,直到Angular将此视为本机HTML属性为止。

© www.soinside.com 2019 - 2024. All rights reserved.