Angular离开页面前的警告bug
创始人
2024-10-28 00:30:18
0

在需要进行路由守卫时,可以在路由配置文件中使用以下代码:

import { Injectable } from '@angular/core';
import { CanDeactivate } from '@angular/router';
import { Observable } from 'rxjs';

export interface ComponentCanDeactivate {
 canDeactivate: () => Observable | Promise | boolean;
}

@Injectable()
export class PendingChangesGuard implements CanDeactivate {
 canDeactivate(component: ComponentCanDeactivate): Observable | Promise | boolean {
  return component.canDeactivate ? component.canDeactivate() : true;
 }
}

这将导出一个名为ComponentCanDeactivate的接口,它可以提供canDeactivate方法,并让路由守卫了解该组件中是否有该方法。通过该方法,我们可以在用户即将离开该组件或页面时通过返回一个布尔值或一个 Promise,来提供一个提示信息。例如,以下是一个示例组件:

import { Component, OnInit } from '@angular/core';

@Component({
 selector: 'app-your-component',
 templateUrl: './your-component.component.html',
 styleUrls: ['./your-component.component.scss']
})
export class YourComponentComponent implements ComponentCanDeactivate, OnInit {
 formChanged = false;

 constructor() {}

 ngOnInit() {}

 canDeactivate(): Observable | Promise | boolean {
  if (this.formChanged) {  
   return confirm('You have unsaved changes. Are you sure you want to discard them?');
  }
  return true;
 }
}

如果用户在该组件中进行了更改,则该组件的formChanged属性将标记为 true。当用户即将离开该组件或页面时,我们将检查formChanged属性,如果已更改则弹出提示框来获取用户的意见。当用户单击 "是" 时,将返回 true,而如果用户点击 "否" 或 "取消" 按钮时,则返回 false,从而防止用户离开该组件页面。 确认方法返回了一个布尔值,表示用户是否

相关内容

热门资讯

黑科技辅助!扑克时间软件(we... 黑科技辅助!扑克时间软件(wepoke黑科技)固有真的是有挂(有挂教程)-哔哩哔哩(1)黑科技辅助!...
黑科技攻略!gg扑克实战(微扑... 黑科技攻略!gg扑克实战(微扑克有挂么)竟然存在有挂(果真有挂)-哔哩哔哩1、每一步都需要思考,不同...
黑科技代打!Wpk辅助器(wp... 黑科技代打!Wpk辅助器(wpk ai辅助)一贯真的有挂(有挂详细)-哔哩哔哩;一、wpk ai辅助...
黑科技最新!pokerrrr开... 1、黑科技最新!pokerrrr开挂(微扑克透牌)素来有挂(有挂工具)-哔哩哔哩;详细教程。2、微扑...
黑科技中牌率!红龙扑克辅助工具... 黑科技中牌率!红龙扑克辅助工具(德州ai人工智能)一向是真的有挂(竟然有挂)-哔哩哔哩1、超多福利:...
黑科技免费!gg发牌控制(we... 黑科技免费!gg发牌控制(wepoke透明黑科技)从前是有挂(确实有挂)-哔哩哔哩是一款可以让一直输...
黑科技工具!Wepoke辅助器... 黑科技工具!Wepoke辅助器(德扑ai软件靠谱吗)起初真的有挂(有挂助手)-哔哩哔哩;人气非常高,...
黑科技私人局!微扑克系统发牌逻... 黑科技私人局!微扑克系统发牌逻辑(德扑ai智能系统)果然是真的有挂(有挂讲解)-哔哩哔哩;是一款可以...
黑科技有挂!wpk德州ai辅助... 黑科技有挂!wpk德州ai辅助神器(德扑AI策略软件)先前真的是有挂(有挂教学)-哔哩哔哩1、德扑A...
黑科技美元局!哈糖大菠萝有辅助... 黑科技美元局!哈糖大菠萝有辅助(aapoker发牌机制)往昔有挂(有挂助手)-哔哩哔哩1、金币登录送...