Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在不重新加载路由器的情况下转到其他页面。在7中导航?_Angular - Fatal编程技术网

Angular 如何在不重新加载路由器的情况下转到其他页面。在7中导航?

Angular 如何在不重新加载路由器的情况下转到其他页面。在7中导航?,angular,Angular,我在组件模板中有一个按钮。单击时,将使用以下代码调用组件方法: saveAndGoToDetails() { // TODO: Here will be saving this.router.navigate(['/details/1029']); } 它从具有此零件的组件调用: <button mat-flat-button color="primary" (click)="saveAndGoToDetails()">Save and go to detai

我在组件模板中有一个按钮。单击时,将使用以下代码调用组件方法:

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中正确地从组件导航到其他路径而不重新加载页面?

首次导入

import {ActivatedRoute} from '@angular/router';
那么, 在构造函数中添加私有路由:ActivatedRoute作为

constructor(..., private route: ActivatedRoute){}
然后您可以使用下面的函数


this.router.navigate(['details','1029'],{relativeTo:route,skipLocationChange:true})

解决方案是添加:

return false

saveAndGoToDetails()

处理函数。这个问题是由棱角材料的工作方式引起的。如果按钮放在里面。即使它不是“提交”按钮,Angular Material也会将其作为“提交”按钮处理。

请提供一个关于堆栈的闪电战。这是不正常的,应该复制,以便我们可以告诉您出了什么问题:
寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中复制它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处
此按钮是否在表单中?比如提交按钮之类的?如果你用a href标记了你的操作,那么这种行为是正常的,提交按钮也是正常的,正如@SiddAjmera所建议的。您好,请不要要求关闭这个问题,因为这将使更新问题变得不可能,我需要创建一个新的问题。我已经用如何调用的信息更新了问题。这是一个普通的按钮(不提交)而不是a href,这使得您需要写一个详细的答案。我尝试了一下并得到了信息:在您的构造函数中找不到名称“route”Use(私有路由:ActivatedRoute)默认情况下Html中的所有按钮都是
type=“submit”
。这不仅仅是在角度上。您可以将类型更改为“button”来绕过它