如何通过管道传递到 src 属性 Angular

Agu*_*ina 2 angular-pipe angular

如果我做:<h2>{{event.role | lowercase}}</h2>src但是,如果我尝试在这样的属性中使用它:

<img src={{event.eventName | lowercase}} alt="">
Run Code Online (Sandbox Code Playgroud)

我收到错误:

core.js:6237 ERROR DOMException: 
Failed to execute 'setAttribute' on 'Element': '|' is not a valid attribute name.
Run Code Online (Sandbox Code Playgroud)

但是,它无法识别管道,无法正确使用管道,因此格式{{event.eventName}}可以正常工作。我该怎么做呢?

Mic*_*l D 5

要使用带有绑定到属性的变量的管道,您可以将其包装在带有*ngIf指令的容器中。它还允许您应用一次管道并多次重复使用修改后的变量。尝试以下操作

<ng-container *ngIf="event.eventName | lowercase as name">
  <img [src]="name" alt="">

  <!-- reuse the variable with the pipe applied -->
  <img [src]="name" alt="">
</ng-container>
Run Code Online (Sandbox Code Playgroud)


Dav*_*vid 5

您需要在表达式周围使用引号,否则 Angular 将无法解析您的表达式

<img src="{{ event.eventName | lowercase }}" alt=""
Run Code Online (Sandbox Code Playgroud)

或者

<img [src]="event.eventName | lowercase" alt=""
Run Code Online (Sandbox Code Playgroud)