【发布时间】:2017-06-27 09:34:43
【问题描述】:
我不知道如何让它变得更好。 我想在 2 个 Angular 组件之间发送 JSON。我正在考虑路由,但是如何在这之间发送诸如 POST 之类的东西,到我知道如何使用 @inputs/@Outputs 的组件,但我必须更改 Url 并重新加载内容。问题是它不仅是 id,而且是检查 ide 的列表。
组件
selectedAll = [];// it is array od Id [1,2,3,4...];
goToDetail(): void {
this.selectedIDService.saveIds(this.selectedLight);
console.log( "Show: "+this.selectedIDService.retrieveIDs().length); <-- give me good number
this.router.navigate(['/detailSearch']);
}
HTML 按钮很有趣
<button class="btn btn-success dropdown-toggle" type="button" data-toggle="dropdown" (click)="gotoDetail()">
我当然想在我的 detailSearch 组件上得到这个。
import { Injectable } from '@angular/core';
@Injectable()
export class SelectedIdService {
public myIds: Array<Number>=[];
constructor() { }
saveIds(produIds:any){
this.myIds = produIds;
console.log(this.myIds);
}
retrieveIDs():any[]{
return this.myIds;
}
}
--------其他组件-------
providers : [SelectedIdService]
constructor( private route: ActivatedRoute,
private selectedIdService :SelectedIdService) { }
ngOnInit() {
var selected:any[] =this.selectedIdService.retrieveIDs();<<-- empty
}
你知道为什么吗?
【问题讨论】:
标签: angular typescript angular2-routing