无法绑定到 'alt',因为它不是 'i' 的已知 属性

Can't bind to 'alt' since it isn't a known property of 'i'

我是 angular 的新手,我正在尝试让视频图标具有 alt 文本属性,代码如下:

<div class="search-result__indicators">
                    <i *ngFor="let tag of resultTags(result)"
                       [class.audio-icon]="tag == 'Audio'"
                       [class.image-icon]="tag == 'Image'"
                       class="c-glyph" role="presentation"></i>

                    <i *ngFor="let tag of resultTags(result)"
                       [class.video-icon]="tag == 'Video'"
                       class="c-glyph" alt="{{'the article inside has video'}}"></i>
</div>

但是,它给我这个错误:

Can't bind to 'alt' since it isn't a known property of 'i'. ("" [class.video-icon]="tag == 'Video'" class="c-glyph" [ERROR ->]alt="{{'the article inside has video'}}">

我已尝试将 i 更改为 img,错误消失了,但不知何故,应用程序无法从 img 更改开始。如有任何建议,我们将不胜感激!

<i> 元素没有 alt 属性。 alt 目的是在无法显示图像时提供文本。 <i> 本身就是一个文本,在上面加上 alt 没有多大意义。

出于好奇,当您从 <i>(这是一个文本格式标记,类似于 <strong>,如上所述)转换时,您是否碰巧这样做了 <img (your attributes)></img>?如果是这样,那很可能是您在编译组件时的错误。 <img> 是一个自闭标签。尝试改变这个;

  <i
    *ngFor="let tag of resultTags(result)"
    [class.video-icon]="tag == 'Video'"
    class="c-glyph"
    alt="{{ 'the article inside has video' }}"
  ></i>

到此;

  <img
    *ngFor="let tag of resultTags(result)"
    [class.video-icon]="tag == 'Video'"
    class="c-glyph"
    alt="{{ 'the article inside has video' }}"
  />