【发布时间】:2018-04-21 12:28:52
【问题描述】:
我没有练习并试图复习 Angular。我想返回一个对象并将其呈现在 HTML 文件中。
服务:
@Injectable()
export class NameService {
url:string = "";
constructor(private http: HttpClient) { }
public getActivities(): Observable<UserModel> {
return this.http.get(this.url);
}
}
组件:
export class NameComponent implements OnInit {
users:UserModel;
constructor(private nameService: NameService) { }
public getUsers(){
this.users = this.nameService.getActivities()
.subscribe(res => {this.users = res});
}
ngOnInit() {
this.getUsers();
}
错误Type 'Subscription' is not assignable to type 'UserModel'.
和
Type 'Observable<Object>' is not assignable to type 'Observable<UserModel>'.
HTML:
<ul>
<li *ngFor="let user of users; let i = index">
{{i + 1}} - {{user.id}}
{{i + 1}} - {{user.first_name}}
{{i + 1}} - {{user.last_name}}
{{i + 1}} - {{user.email}}
{{i + 1}} - {{user.ip}}
</li>
</ul>
和 JSON:
{
"id": 11,
"first_name": "Blakelee",
"last_name": "Gillingham",
"email": "bgillinghama@engadget.com",
"gender": "Female",
"ip_address": "234.175.225.8"
}, {
"id": 12,
"first_name": "Tally",
"last_name": "Loraine",
"email": "tloraineb@marriott.com",
"gender": "Female",
"ip_address": "50.20.33.244"
},
我正在使用 Angular 5,但使用 Angular 4 实践,因为这样做会破坏我的其他应用程序。
-----------------更新 1-------------------
我加了users:UserModel[]=[];
然后我添加了
public getActivities(): Observable<UserModel[]> {
return this.http.get<UserModel[]>(this.url);
}
ide 停止抱怨,但现在我又回到了错误:
No provider for HttpHandler!
------------------编辑 2------------------------
【问题讨论】:
-
嘿伙计,如果(或者)有帮助,介意标记答案吗? ;)
标签: angular