簡體   English   中英

Angular2指令未響應異步數據

[英]Angular2 directive is not responding to async data

我有一個可以接收並作為輸入的組件。

@Input() data: SubDayFoodVM;

使用異步管道從其父級傳遞來的

<sub-day-food *ngIf="subDay" [data]="data | async"></sub-day-food>

SubDayFoodVM界面上的一個屬性是foodName ,它被傳遞給模板上的自定義指令。

<div ticker [text]="data.foodName" [size]="30"></div>

該偽指令創建一個帶有[text]的元素。 如果文本比其容器長,那么將創建一個重復元素,並且文本邊距像新聞自動收錄器一樣向左滑動。 這是我前一段時間創建的原始版本: PLUNKR

在此實現中,將文本設置為onInit

ngOnInit(): void {
    // ... 
    this.firstNode = this.createTickerNode( this.text );
}

這導致可觀察數據更新時文本未更新。 觸發股票行情操作時,新創建的元素包含新值,但原始元素保留。

異步數據更改時,如何更改實現以更新文本或重新呈現指令?

您需要實現OnChange生命周期掛鈎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM