[英]How to go to other page without reloading with Router.navigate in Angular 7?
我在組件模板中有一個按鈕。 單擊時,使用以下代碼調用組件方法:
saveAndGoToDetails()
{
// TODO: Here will be saving
this.router.navigate(['/details/1029']);
}
它是從具有此部分的組件調用的:
<button mat-flat-button color="primary" (click)="saveAndGoToDetails()">Save and go to details</button>
它應該做的是導航到這條路線而無需重新加載整個應用程序。 盡管如此,它在轉到 URL 時會重新加載整個頁面。
如何在不重新加載 Angular 7 中的頁面的情況下從組件正確導航到其他路由?
解決方案是添加:
return false
在里面
saveAndGoToDetails()
處理函數。 該問題是由 Angular Material 表單的工作方式引起的。 如果在里面放了一個按鈕。 即使它不是提交按鈕,Angular Material 也會將其作為提交處理。
第一次導入
import {ActivatedRoute} from '@angular/router';
然后,在構造函數中添加私有路由:ActivatedRoute 作為
constructor(..., private route: ActivatedRoute){}
然后你可以使用下面的功能
this.router.navigate(['details', '1029'], {relativeTo: route, skipLocationChange: true});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.