我目前正在尝试过滤从硬编码数据返回的JSON。在我的组件中,我的代码当前如下所示:
export class CtaComponent implements OnInit {
@Input() ctaId: string;
public ctaCards: CtaCards.ICtaCard[];
constructor(private ctaService: CtaService) {
}
ngOnInit() {
if (this.ctaId !== undefined) {
this.ctaService.getCtaCards(this.ctaId)
.subscribe(x => {
this.ctaCards.find(z => z.id == this.ctaId) = x
})
}
}
}
我确信您可以看到,带有find
的行不起作用。 ctaId
是用于根据JSON
ID进行过滤的ID。但是,find
的代码被高亮显示为错误,并说The left hand-side assignment expression must be a variable or property access.
对于Angular来说我还很陌生,所以这可能只是明显的错误。我研究过的东西似乎都没有帮助我。
我的服务如下:
export class CtaService {
private ctaCard: BehaviorSubject<CtaCards.ICtaCard[]>
private productUrl = 'src/assets/cta.json'
constructor(private http: HttpClient) {}
public getCtaCards(id: string): BehaviorSubject<CtaCards.ICtaCard[]{
if (id) {
this.ctaCard = new BehaviorSubject<CtaCards.ICtaCard[]>(null);
this.http.get(this.productUrl).pipe(
retry(3)
)
.subscribe((x: CtaCards.ICtaCard[]) => this.ctaCard.next(x))
}
return this.ctaCard;
}
}