Javascript 使用带有ngStyle的背景图像返回未定义
我尝试添加图像(使用API加载项目)作为元素的背景图像。但它保持Javascript 使用带有ngStyle的背景图像返回未定义,javascript,angular,typescript,angular5,Javascript,Angular,Typescript,Angular5,我尝试添加图像(使用API加载项目)作为元素的背景图像。但它保持无法读取未定义的属性“url”错误。虽然它实际上呈现url。 以下是模板端: <div class="col s12 m4" *ngFor="let partner of partners"> <div class="card" *ngIf='partner'> <div class="card-image " [ngStyle]
无法读取未定义的属性“url”错误。虽然它实际上呈现url。
以下是模板端:
<div class="col s12 m4" *ngFor="let partner of partners">
<div class="card" *ngIf='partner'>
<div class="card-image " [ngStyle]="{'background-image': 'url(' + partner?.photo['url'] + ')'}">
<a class=" btn-floating halfway-fab waves-effect waves-light blue left ">
<i class="material-icons ">shopping_cart</i>
</a>
<a class="btn-floating halfway-fab red " [routerLink]='"/dashboard/partners/edit/"+partner["id"]'>
<i class="large material-icons ">mode_edit</i>
</a>
</div>
<div class="card-content ">
<h5 class="center font-weight-400 ">{{partner.name}}</h5>
<p class="center ">{{partner.category.name}}</p>
</div>
</div>
</div>
示例数据:
category:'',
created_at:"2017-12-27 12:57:50",
deleted_at:null,
first_entry:1,
id:1,
name:"Zara",
photo:{id: 5, url: "example.jpeg"},
updated_at:"2017-12-27 12:57:50",
username:"zara-001"
根据错误消息,未为至少一个合作伙伴定义照片字段。您可以使用elvis操作员防止这种情况:
[ngStyle]="{'background-image': `url(${partner?.photo?.url})`}"
或
在控制器中,确保属性照片实际存在于数据中。它是数据对象的一部分,来自APII了解,但错误表明合作伙伴没有属性照片。查看您的ngOnInit并查看
[ngStyle]="{'background-image': `url(${partner?.photo?.url})`}"
[style.background-image]="`url(${partner?.photo?.url})`"