在ng build --prod的'Object'类型上不存在属性'data'。
我的service.ts
getSlogan() {
return this.http.get(this._slogan)
}
我的component.ts
import ...
.
.
export interface Iheader {
facebook_link: string
id: number
instagram_link: string
line_link: string
pinterest_link: string
site_slogan: string
tel: string
youtube_link: string
}
export class HeaderComponent implements OnInit {
socials : any
data : Iheader
ngOnInit() {
// get site data
this.apiservice.getSlogan()
.subscribe(data => {
this.socials = data
});
我的html
<a target="_blank" [href]="socials?.data.pinterest_link">
在ng build --prod上出现错误“类型'Object'上不存在属性'data'。
我的api数据如下
[
status: 200,
data: {
data: {
pinterest_link: "url"
}
}
]
答案 0 :(得分:1)
您似乎将整个服务器响应存储在socials变量中。
所以您需要像这样访问数据:
@Test
或
更好的解决方案是像这样先存储
<a target="_blank" [href]="socials?.data.data.pinterest_link">
,您需要将社交变量默认设置为空数组。
ngOnInit() {
// get site data
this.apiservice.getSlogan()
.subscribe(response => {
this.socials = response.data
});
}
答案 1 :(得分:0)
socials?.data.pinterest_link应该是错误。 “社交?”只检查其未定义/空或已定义。但是,如果已定义,则不能保证对象上存在属性“数据”。您需要类似“ socials?.data?”之类的东西,但是href会出错。
此外,您有一个双重嵌套的“数据”。也许这也是一个错误。
喜欢做
Row object_id type_level_0_array type_level_1_array type_level_2_array
1 1 2 24 234
23
2 2 4 34 349
3 46 465