[英]pass File between components in Angular
我想使用 angular 將文件傳遞給第二個組件
this.router.navigate(['/secondComponent'], { queryParams: { file: File}})
或者通過 formData 傳遞
var formData: any = new FormData();
formData.append("file", file);
this.router.navigate(['/secondComponent'], { queryParams: { file: File}})
它不像這樣工作。 我怎樣才能做到這一點? 謝謝
如果您想要在 angular 路由組件之間進行適當的異步導航,那么您應該考慮使用rxjs
庫,它由 angular 本地提供。 您可以按照以下步驟來實現:
Subject
並在您的路由組件中訂閱它。你在這里有幾個選擇。 通過查詢參數傳遞整個File
object 將不起作用。 我想從技術上講,如果您將整個文件主體作為字符串參數傳遞到 URL 中,它可能會起作用,但我不建議這樣做。
你可以做什么:
File
object為了堅持您當前的設置,我建議您使用第三個選項並執行以下操作:
this.router.navigate(['/some-route'], {state: {data: myFile}});
您可能需要考慮通過路由器傳遞文件 id 或文件名,然后在路由后重新加載文件。
您必須記住的是,用戶可能會點擊瀏覽器刷新按鈕,在這種情況下,您需要根據 url 生成整個頁面及其所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.