首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

页面刷新/重新加载后不显示警报(Angular v10)

页面刷新/重新加载后不显示警报是由于 Angular v10 中的路由重置导致的。在 Angular 中,当页面刷新或重新加载时,路由会被重置,这意味着组件的状态和数据都会被清除,包括警报的显示状态。

要解决这个问题,可以使用 Angular 的路由守卫来保持警报的显示状态。路由守卫是 Angular 提供的一种机制,用于在路由导航期间进行拦截和控制。

以下是一种解决方案:

  1. 创建一个名为 AlertService 的服务,用于管理警报的显示状态。
代码语言:txt
复制
import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root'
})
export class AlertService {
  private showAlert: boolean = false;

  constructor() { }

  setShowAlert(value: boolean) {
    this.showAlert = value;
  }

  getShowAlert() {
    return this.showAlert;
  }
}
  1. 在需要显示警报的组件中,注入 AlertService 并使用它来管理警报的显示状态。
代码语言:txt
复制
import { Component, OnInit } from '@angular/core';
import { AlertService } from 'path/to/alert.service';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
  styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
  showAlert: boolean = false;

  constructor(private alertService: AlertService) { }

  ngOnInit() {
    this.showAlert = this.alertService.getShowAlert();
  }

  closeAlert() {
    this.showAlert = false;
    this.alertService.setShowAlert(false);
  }
}
  1. 在路由守卫中,监听路由导航事件,并在导航结束后恢复警报的显示状态。
代码语言:txt
复制
import { Injectable } from '@angular/core';
import { Router, NavigationEnd } from '@angular/router';
import { AlertService } from 'path/to/alert.service';

@Injectable({
  providedIn: 'root'
})
export class AlertGuard {
  constructor(private router: Router, private alertService: AlertService) {
    this.router.events.subscribe(event => {
      if (event instanceof NavigationEnd) {
        this.alertService.setShowAlert(true);
      }
    });
  }
}
  1. 在路由模块中,将路由守卫添加到需要保持警报显示状态的路由上。
代码语言:txt
复制
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ExampleComponent } from './example.component';
import { AlertGuard } from 'path/to/alert.guard';

const routes: Routes = [
  {
    path: 'example',
    component: ExampleComponent,
    canActivate: [AlertGuard] // 添加路由守卫
  }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

通过以上步骤,警报的显示状态将在页面刷新/重新加载后得到保持。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,建议参考腾讯云的官方文档或咨询腾讯云的技术支持获取相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

IDEA JAVA 项目热加载

使用 IDEA 开发 JAVA 项目的过程中,我们完成一个功能的编写,需要调试,往往需要重新启动项目,那么,我们有什么方法跳过重新启动呢?...不用保存,直接点击右上角的构建(锤子图标): 然后刷新刚才的地址,页面的内容会更新: 自动刷新浏览器 - 非 IDEA 中配置 前端开发的过程中,现成的库(angular, react, vue)脚手架都帮我们设定好了热加载...,在保存编写的代码时候,页面会自动刷新内容。...那么,我们在本例中,能否实现更改了 controller 的返回信息,并点击 build(锤子图标)页面能够自动刷新呢? 答案是可以的。...那么我们在 IDEA 上更改了内容,重新 build ,不用刷新浏览器,页面内容会自动更新。 ⚠️ 使用 LiveReload 插件,你不能在浏览器的访客功能下使用。

70230
  • ASP.NET Core + Angular 2 Template for Visual Studio服务器端预加载的意义何在?Webpack 开发中间件模块热拔插(HMR)

    模块热拔插:在开发期间,一旦你编辑了一个Typescript文件、CSS文件、或者其他客户端资源,你的改变也将在不刷新页面的情况下立即推送到浏览器。...创建并且运行项目 当你完成安装以上所有内容,你可以打开VS2015 创建新项目,展开Web目录,选择 ASP.NET Core Angular2 Starter Application(.NET Core...刷新页面,你会发现一切看起来和之前一样,左边的tab还是可以工作,但是一些依赖javascript的内容就不再可以运行了,比如counter。 服务器端预加载的意义何在?...模块热拔插(HMR) 在有任何代码修改之后,通常我们需要刷新页面来应用这些修改,但是这对于效率和调试方便性来说是很不友好的。...,你的应用程序将会在不刷新页面的情况下啊立即应用改变。

    3.3K60

    ECharts 饼图切换数据源bug 开始没数据显示 切换或刷新显示

    1、出现问题原因 一个饼图,右上方两个按钮分别为今天和本月,分别调用不同接口控制,点击则调用不同接口同时饼图绑定数据源刷新;出现此问题原因点击今日按钮有一个饼图区域形没有数据不显示,对应数据值比例都没显示...具体代码如下: document.getElementById('chart的Id').removeAttribute('_echarts_instance_') // 解决饼图无数据信息(占比为0)首次加载不出来...,或者切换页面,需要强刷新才能出来的问题 // 在初始化之前 this....3、参考文档 ① echarts重新加载数据没有绘出图 ② echarts绘制图表,切换页面返回,无刷新数据图表不显示问题 4、附录 1、还有的同学饼图数值为0时标签应该显示如下图的但是未显示 这可能与饼图的所占区域布局有关遮住了...0的数据 以上就是ECharts 饼图切换数据源bug 开始没数据显示 切换或刷新显示的介绍,做此记录,如有帮助,欢迎点赞关注收藏!

    25210

    关于RxJS 自定义封装Rxbus的使用规范文档

    RX文章请看: SNS项目笔记--深入探究RXjs SNS项目笔记--RXjs简要用法 1、封装的provider代码: import { Injectable } from '@angular...See https://angular.io/docs/ts/latest/guide/dependency-injection.html for more info on providers and...constructor(public rxbus: Rxbus){} 2.2、生命周期方法: // 每次页面重新显示的时候都会调用 ionViewDidEnter() { this.isInner...= false; // 判断是否进入子页面 } // 页面每次成功加载所调用的生命周期方法,在这个页面里面注册监听 ionViewDidLoad() { // 实例,不同类型和不同tag或者...this.bean.logoUrl = bean.imgUrl this.bean.publicLevel = bean.permission } }) } //当页面不显示的时候使用该方法来删除本页面的监听

    85820

    【Hybrid开发高级系列】AngularJS(三)——开发实践

    当选中了’generator-angular,按下回车执行安装,它所依赖的Node包就会开始被下载了。         ...重新创建一个新的项目目录,生成器会在这个目录下生成出你的项目文件的。...中实现返回前一页 http://blog.csdn.net/qianqianyixiao1/article/details/51146519 AngularJs返回前一页面刷新一次前面页面 http:...原因分析:         在controller加载时,碰到登录失效时,虽然要跳转到登录页,但是当前runloop周期内,还是应该继续执行剩余代码,因为事件绑定逻辑都要执行完,不然页面回退回来,就会发现事件无法响应...angule js中ng-view中使用了ng-include,如何实现ng-include的这个页面刷新,外部的ng-view不刷新 http://www.oschina.net/question/2356458

    24720

    Angular开发实践(二):HRM运行机制

    HMR是webpack提供的一个功能,angular-cli使用了它,它会在应用程序运行过程中替换、添加或删除模块,而无需重新加载整个页面。...主要是通过以下几种方式,来显著加快开发速度: 保留在完全重新加载页面时丢失的应用程序状态 只更新变更内容,以节省宝贵的开发时间 调整样式更加快速 - 几乎相当于在浏览器调试器中更改样式 这一切是如何运行的...我们先看看具体的效果: 1、启动angular-start项目,在控制台你可以看到HRM已经启用的消息: ? image 2、然后通过浏览器控制台可以看到,第一次加载请求了所有的资源: ?...image 3、此时,修改一处代码保存,浏览器并未刷新就自动显示修改之后的效果,再看浏览器控制台只请求了新修改的js: ?...如果在这个模块树中,一个单独的模块被更新,那么整组依赖模块都会被重新加载。 有关 module.hot 接口的详细信息,请查看HMR API页面

    1.7K70

    选择大于努力,你必须了解web1.0到web2.0三段历史

    于是WEB1.0技术出现了,将程序与页面混合在一起,用特殊的标记分开,并且把页面的名字由HTML变成了ASP,PHP,JSP等等,这样web服务器就会识别为需动态加载页面,从而调用ASP等对应的CGI...这一下子迎来了整个互联网开发的繁荣时期,但这种模式下的任何数据更新,都需要刷新整个页面,并且在带宽不足的年代,这样做会耗费不少加载网页的时间。...2004年,Google发布了Gmail,用户可以在不刷新页面的情况下进行复杂的交互,之后,Ajax逐渐成为网页开发的技术标准,也不断地被应用于各种网站。...在Gmail诞生,大家意识到前端也可以做出复杂应用。...前端三大框架 现代前端框架都是是利用数据驱动页面,但是怎么处理数据的变化,各个框架走出了不同的路线。 这些框架要回答的核心问题就是,数据发生变化,我们怎么去通知页面更新。

    1.3K10

    跨平台移动APP开发进阶(三):hbuilder+mui mobile app 开发心酸路

    在实现图片轮转时,若将 mui("#slider").slider({ interval: 5000 }); 置于图片加载之前...若要获取一个组件的id,可能带获取的组件还未加载,导致获取失败。 解决措施:将获取组件id的js脚本在定义组件id之后完成。 3.问题描述:页面是由主页面加内容页面组合而成。...弹出菜单还是被内容页面遮挡。如图一所,其实自己是想实现图二: 疑惑:父页面如何与内容页面传递数据?...另外,基于webview模式的选项卡,支持原生加速的下拉刷新。如下图: 感触:其实很多问题都可以从Hello mui demo 中得到答案。自己要经常操作以求更加熟悉。...由此转入Angular框架 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138266.html原文链接:https://javaforall.cn

    3.1K30

    hash和history路由模式

    一旦页面加载完成,SPA 不会因为用户的操作而进行页面重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面重新加载。...我们熟知的JS框架如react,vue,angular,ember都属于SPA 与之对应的是多页面应用,他们的区别如下 优点: 用户体验好、快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染...为了实现前端路由,SPA需要监听URL的变化,并据此渲染对应的组件或页面不同部分,无需重新加载整个页面。下面让我们分别深入了解两种路由模式的原理。...hash和history hash模式原理: 浏览器原生支持通过window.location.hash读写URL中的hash值,并且当hash值变化时,页面不会触发重新加载。...通过history.pushState和history.replaceState可以改变URL且不重新加载页面。 SPA可以监听popstate事件来响应浏览器前进、后退操作。

    19610

    AngularDart4.0 英雄之旅-教程-03英雄编辑器

    完成,应用程序应该看起来像这个实例(查看源代码)。 构建结构 在开始编写代码之前,让我们验证一下你的结构。 如果没有,您需要返回并按照上一页的设置说明进行操作。 ?...当您进行更改时,请通过重新加载浏览器窗口来保持运行。...', 刷新浏览器,页面将显示标题和英雄名 双大括号是Angular插值绑定语法。 这些插值绑定将组件的标题和英雄属性值作为字符串显示在HTML标题标签内。...', 刷新浏览器,页面将显示英雄名 组合HTML和多行模板字符串 要显示所有英雄的属性,请为英雄的id属性添加一个,并为英雄的名称添加另一个。...如果您打开浏览器控制台并刷新页面,您将看到Angular报警。 要知道为什么,看看pub serve输出台。

    3.2K10

    浅谈移动端页面刷新跳转问题的解决方案

    它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript 和 CSS。 一旦页面加载完成了,SPA不会因为用户的操作而进行页面重新加载或跳转。...由于避免了页面重新加载,SPA 可以提供较为流畅的用户体验。得益于ajax,我们可以实现无跳转刷新,又多亏了浏览器的histroy机制,我们用hash的变化从而可以实现推动界面变化。...这种方式的优点是刷新要更轻量,js库和css样式在首次加载即可,局部页面可以只加载少量的数据,并且基于div响应式效果在移动端要更好。...因此这也成了目前流行的前端框架angular、react等选用的方案。通过HTML5 History API,实现页面跳转,实现简单的单页面web应用。...target=https%3A//www.jianshu.com/u/05f416aefbe1) > > 90前端妹子,爱编程,爱运营,爱折腾。

    3.7K40

    基于 Hexo 从零开始搭建个人博客(五)

    也就是説,调用后资料会存在 localStorage 里,10分鐘内刷新网站只会去 localStorage 读取资料。 10 分鐘期限一过,刷新页面时才会去调取 API 读取新的数据。...页面加载动画preloader 当进入网页时,因为加载速度的问题,可能会导致top_img图片出现断层显示,或者网页加载不全而出现等待时间,开启preloader,会显示加载动画,等页面加载完,加载动画会消失...这样可以不用重复加载相同的资源(css/js), 从而提升网页的加载速度。...# 点击该网页会重新加载网站。...exclude: - /music/ - /no-pjax/ 使用 pjax ,一些自己DIY的js可能会无效,跳转页面时需要重新调用,请参考Pjax文档。

    1.1K30

    AngularDart4.0 英雄之旅-教程-07路由 顶

    完成,用户将可以像这样浏览应用程序: ? 为了满足这些要求,您将添加Angular路由器到应用程序。 有关路由器的更多信息,请阅读路由和导航页面。  ...在进行更改时,请通过重新加载浏览器窗口来保持运行。 行动计划 计划如下: 将AppComponent转换为仅处理导航的应用程序外壳程序。...分割AppComponent 当前的应用程序加载AppComponent并立即显示英雄列表。 修改的应用程序应该提供一个可选的视图(Dashboard和Heroes),然后默认为其中的一个。...添加路由 应该在用户点击按钮显示英雄而不是自动显示。 换句话说,用户应该能够导航到英雄列表。 更新pubspec 使用Angular路由(angular_router)启用导航。...在浏览器中,转至应用程序根目录(/)并重新加载。 该应用程序显示dashboard ,您可以在dashboard 和heroes之间导航。

    17.6K30

    Python3爬虫中关于Ajax分析方法的总结

    这里还以前面的微博为例,我们知道拖动刷新的内容由Ajax加载,而且页面的URL没有变化,那么应该到哪里去查看这些Ajax请求呢? 1....首先,用Chrome浏览器打开微博的链接https://m.weibo.cn/u/2830678474,随后在页面中点击鼠标右键,从弹出的快捷菜单中选择“检查”选项,此时便会弹出开发者工具,如图6-2所...切换到Network选项卡,随后重新刷新页面,可以发现这里出现了非常多的条目,如图6-3所。 ? 前面也提到过,这里其实就是在页面加载过程中浏览器与服务器之间发送请求和接收响应的所有记录。...JavaScript接收到这些数据之后,再执行相应的渲染方法,整个页面就渲染出来了。 另外,也可以切换到Response选项卡,从中观察到真实的返回数据,如图6-7所。 ?...所以说,我们看到的微博页面的真实数据并不是最原始的页面返回的,而是后来执行JavaScript再次向后台发送了Ajax请求,浏览器拿到数据再进一步渲染出来的。 2.

    65710

    大学课程 | 嵌入式智能大棚监测管理系统

    默认为自动模式,此时如果检测值超过设定的危险值,警示灯将会点亮,并且运行响应的硬件设备,温度超过范围自动控制的硬件运行图,如图4.1所。...图4.3 服务器正常运行示意图 3.前端运行 当服务器和硬件系统开启,进入首页将会自动跳转登录页面,如图4.4所。...图4.4 登陆页面 输入默认的用户名root和密码123456,即可自动跳转首页,首页上半部分如图4.5所,下部分如图4.6所。...这一将存储到服务器端,不会随刷新而改变,如图4.7所。...图4.10 详细数据页面 再点击导航栏上的设备详情,即可跳转设备数据页面,同样可以查看最近三小时,最近一天和最近两天的数据,如图4.11所

    2.1K40

    Angular Elements 组件在非angular 页面中使用的DEMO

    v1版本似乎将成正式标准,就连Edge都是都正在考虑。无论v0,v1版本,现在都是草案的状态,距离正式标准还很远。...二、Angular Elements 使用实战      前不久看到项目angular-elements-dashboard :支持动态加载模块和动态加载外部的模块。...其中加载动态外部模块就是先编译一个angular elements项目,然后动态把该bundle.js插入到页面中。...于是我就尝试一下,看这个构建的angular elements 文件到底如果引入一个空白的页面中,引入的组件在浏览器中又是如何呈现的。      页面结构:      ?...据说伴随angular 7推出的ivy 渲染引擎能大大减小组件的构建体积,忘在哪个视频中看到说打包可到10kb的量级,但现在找不到该说法的来源。

    2.7K20

    浅谈HTML5单页面架构(一)——requirejs + angular + angular-route

    而在Webapp中,又要数单页面架构体验最好,更像原生app。简单来说,单页面App不需要频繁切换网页,可以局部刷新,整个加载流畅度会好很多。...angular的同学,可以灵活修改一下页面某些内容。...这一篇,先说说第1种:requirejs+angular+angular-route 移动端单页面Web相对多页面来说,模块化管理显得非常重要,因为如果没有模块化,页面初始化时就把所有的js和所有模版都加载进来...如果没有使用requirejs,那么我们需要在路由配置前加载完全部controller。angular-route需要做的只是切换HTML模版,重新编译,绑定新的controller。 但是。...我们要按需加载,不可能页面加载就全部controller都load回来,这样得耗费多少流量。。。

    3.3K20

    【Hybrid开发高级系列】AngularJS(二)——常用$服务

    我们可以利用路由服务定义这样一种东西:对于浏览器所指向的特定URL,Angular将会加载并显示一个模板,并实例化一个控制器来为模板提供内容。         ...对象的具体内容用(protocol, host, port, path, search, hash).formatDate 1.7.2 $location不会做         当浏览器的URL改变时,不会重新加载整个页面...如果想要重新加载整个页面,需要使用$window.location.href。...1.7.4 代码示例         $location服务用于返回当前页面的URL地址,示例代码如下: var app = angular.module('myApp', []); app.controller...angule js中ng-view中使用了ng-include,如何实现ng-include的这个页面刷新,外部的ng-view不刷新 http://www.oschina.net/question/2356458

    42040
    领券