代码:
import { Component, OnInit } from '@angular/core';
import {DataService} from '../data.service';
import {Observable} from 'rxjs';
import {ActivatedRoute} from '@angular/router';
@Component({
selector: 'app-details',
templateUrl: './details.component.html',
styleUrls: ['./details.component.scss']
})
export class DetailsComponent implements OnInit {
user$: Object;
constructor(private data: DataService, private route: ActivatedRoute) {
this.route.params.subscribe(
params => this.user$ = params.id
);
}
ngOnInit() {
this.data.getUser(this.user$).subscribe(
(data: Object) => this.user$ = data
);
}
}
问题是,当我尝试构建时,会出现此错误:ng build --prod
Property 'name' does not exist on type 'Object'
我还尝试将Object
替换为any
。它没有解决。我是angular 6的新手。
答案 0 :(得分:0)
可能您在模板中使用name
并进行了user$
变量绑定,因为name $是您与异步数据的绑定。
因此,在这种情况下,最好的方法是-
user$: any;
,并且在模板中尝试使用安全导航操作符(?
),像这样-
{{name$?.name}}