属性在类型对象上不存在

时间:2018-11-21 10:22:55

标签: angular

代码:

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的新手。

1 个答案:

答案 0 :(得分:0)

可能您在模板中使用name并进行了user$变量绑定,因为name $是您与异步数据的绑定。

因此,在这种情况下,最好的方法是-

user$: any;

,并且在模板中尝试使用安全导航操作符(?,像这样-

{{name$?.name}}