ERROR TypeError: Cannot read properties of undefined (reading 'imageUrl') Angular material
ERROR TypeError: Cannot read properties of undefined (reading 'imageUrl') Angular material
当我写这行html代码时:
<td> <img align="center" [src]="productByBarCode.imageUrl" /> </td>
控制台抛出以下错误:
ERROR TypeError: Cannot read properties of undefined (reading
'imageUrl')
imageUrl
是字符串类型,是一个url。我正在使用 Angular material。我该如何处理?
.html 文件:
<table>
<!-- Image Column -->
<ng-container matColumnDef="img">
<th mat-header-cell *matHeaderCellDef></th>
<td> <img align="center" [src]="productByBarCode.imageUrl" /> </td>
</ng-container>
...
</table>
.ts 文件:
export class ProductDetailsComponent implements OnInit {
public productByBarCode!: Product;
displayedColumns = ['img', 'name', 'description', 'price', 'quantity', 'add to cart'];
constructor(private _snackBar: MatSnackBar, private shared: SharedService, private productService: ProductService) { }
ngOnInit(): void {
this.shared.castByBarCode.subscribe(productByBarCode=>this.productByBarCode=productByBarCode);
...
}
我只能假设您的“共享”服务在视图尝试访问它之前没有解析 productByBarCode
变量。在这种情况下,您的代码试图从 null
.
解析 imageUrl
你可以像这样 *ngIf 检查 productByBarCode
是否是 truthy/falsy:
<td>
<img *ngIf="productByBarCode" align="center [src]="productByBarCode.imageUrl" />
</td>
在此之后,如果您的图像仍然无法解析,只需 console.log
您的 productByBarCode
变量来检查里面的内容:)
当我写这行html代码时:
<td> <img align="center" [src]="productByBarCode.imageUrl" /> </td>
控制台抛出以下错误:
ERROR TypeError: Cannot read properties of undefined (reading 'imageUrl')
imageUrl
是字符串类型,是一个url。我正在使用 Angular material。我该如何处理?
.html 文件:
<table>
<!-- Image Column -->
<ng-container matColumnDef="img">
<th mat-header-cell *matHeaderCellDef></th>
<td> <img align="center" [src]="productByBarCode.imageUrl" /> </td>
</ng-container>
...
</table>
.ts 文件:
export class ProductDetailsComponent implements OnInit {
public productByBarCode!: Product;
displayedColumns = ['img', 'name', 'description', 'price', 'quantity', 'add to cart'];
constructor(private _snackBar: MatSnackBar, private shared: SharedService, private productService: ProductService) { }
ngOnInit(): void {
this.shared.castByBarCode.subscribe(productByBarCode=>this.productByBarCode=productByBarCode);
...
}
我只能假设您的“共享”服务在视图尝试访问它之前没有解析 productByBarCode
变量。在这种情况下,您的代码试图从 null
.
imageUrl
你可以像这样 *ngIf 检查 productByBarCode
是否是 truthy/falsy:
<td>
<img *ngIf="productByBarCode" align="center [src]="productByBarCode.imageUrl" />
</td>
在此之后,如果您的图像仍然无法解析,只需 console.log
您的 productByBarCode
变量来检查里面的内容:)