4 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
您還可以嘗試通過(guò)強(qiáng)制值引用更新來(lái)強(qiáng)制更改檢測(cè),例如通過(guò)擴(kuò)展運(yùn)算符:
this.endpointService.loadData().subscribe((response) => { this.data = [...response]; });

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
我已經(jīng)解決了這個(gè)問(wèn)題,更新了子輸入傳遞的屬性,而不是重新分配它。我認(rèn)為 Angular 將輸入作為副本傳遞。所以,在訂閱正文中你應(yīng)該使用
resultOfSubscribe.forEach((v) => varPassedByInput.push(v));

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
我用靜態(tài)字符串?dāng)?shù)組替換了該服務(wù),效果很好。我認(rèn)為可觀察訂閱有問(wèn)題。
子組件.ts
import { Component, OnInit,Input } from '@angular/core';
@Component({
selector: 'child',
templateUrl: './child.component.html',
styleUrls: ['./child.component.css']
})
export class ChildComponent implements OnInit {
@Input() data: any[] = [];
constructor() { }
ngOnInit() {
}
}
父組件.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'parent',
templateUrl: './parent.component.html',
styleUrls: ['./parent.component.css'],
})
export class ParentComponent implements OnInit {
data: string[] = [];
constructor() {}
ngOnInit() {
this.data = ['hello', 'world','aaa','ddd'];
}
}

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
模板表達(dá)式中似乎存在一些其他錯(cuò)誤,導(dǎo)致整個(gè)模板失敗。這是我創(chuàng)建的 stackblitz,一切正常:https://stackblitz.com/edit/angular-ivy-w2ptbb ?file=src%2Fapp%2Fhello.component.ts
您在控制臺(tái)中可能有一些錯(cuò)誤嗎?
添加回答
舉報(bào)