簡體   English   中英

如何在 Angular 中渲染組件之前加載數據

[英]how to load the data before the component is rendered in the Angular

不會發生頁面移動,因此您不使用路由器。 但是,當您單擊特定元素時,會出現一個使用 Angular 的 mat 對話框創建的新窗口並顯示數據。 此時,從服務器接收數據。 當前數據加載很慢,所以用戶可以看到從初始值到服務器值的變化。

有沒有辦法在渲染組件之前獲取數據?

通常,您可以做的一件事是創建組件但將其隱藏,以便當它顯示時,數據已經加載。 使用 MatDialog 可能會很困難,因此您可能希望在主組件中預加載數據,然后在打開時將數據傳遞到 MatDialog(請參閱 MatDialog 的數據輸入https://material.angular.io/components /dialog/api#MatDialogConfig )

例子:

this.dialog.open(YourComponent, {
  data: {
    someText: "Hello world",
    someData: {id: 1}
  }
});

只是想提供幫助,我不是角度專家,但研究角度生命周期將是解決這個問題的一個很好的開始,這不僅可以幫助您解決這個問題,還可以幫助您正確利用角度。

如果您使用 Observables 從服務器獲取數據,您不能在組件的 ngOnInit 上手動訂閱組件,您可以只使用異步管道在模板中獲取和顯示數據

暫無
暫無

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

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