簡體   English   中英

如何在不使用 Angular 7 中的 Router.navigate 重新加載的情況下轉到其他頁面?

[英]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.

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