¿Puede un archivo .model.ts tener una clase con una propiedad como imagen? y luego usarlo usando la interpolación de cadenas? o hay una mejor manera de lidiar con esto? interpolación de cuerdas (¡¡ANGULAR PRINCIPIANTE PROBANDO COSAS!!)
P.ej:-
Productos. modelo.ts
export class Products { name : string; description: string; price : number; **image : ??** constructor(name:string,description:string,price:number,**image:??**){ this.name = name; this.description = description; this.price = price; }}
Producto. componente.ts
productsList: Products[]=[ new Products('IphoneX','this is an IphonX product',800), new Products('IphoneXL','this is an IphonXl product',900), new Products('IphoneXmini','this is an IphonXmini product',1200), new Products('IphoneXpromax','this is an IphonXpromax product',1340), ]producto.componente.html
<div class="card__container" *ngFor="let product of productsList"> <mat-card> <div class="product" > <div class="product__img" > {{ product.img }} </div> <div class="product__details"> <h1>{{ product.name}}</h1> <p>{{ product.description }}</p> <h3>{{ product.price | currency }}</h3> <button (click)="addtoCart(product)"><mat-icon>add_shopping_cart</mat-icon>Cart</button> </div> </div> </mat-card> </div>La solución más fácil sería hacer:
image: 'some_image_name.png' (o para clase: image: string )
luego tenga esa imagen en la carpeta de activos (por ejemplo, en activos/imágenes), para que pueda hacer referencia a ella desde la plantilla como:
<div class="product__img" > <img [src]="'/assets/images/' + product.img" /> </div>