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

Angular / xng-breadcrumbs在页面重新加载时消失

基础概念

Angular 是一个用于构建单页应用程序(SPA)的开源前端框架,由 Google 维护。它使用 TypeScript 语言,并提供了一套丰富的工具和库来简化开发过程。

xng-breadcrumbs 是一个 Angular 的面包屑导航库,用于在应用程序中显示当前页面的路径。面包屑导航可以帮助用户理解他们在网站中的位置,并提供一种简单的方式返回到之前的页面。

相关优势

  1. 清晰的导航:面包屑导航提供了一种直观的方式来展示用户在应用程序中的位置。
  2. 易于使用xng-breadcrumbs 库易于集成和使用,只需简单的配置即可实现面包屑导航。
  3. 灵活性:可以根据应用程序的需求自定义面包屑的样式和行为。

类型

xng-breadcrumbs 支持多种类型的面包屑导航,包括:

  1. 基于路由的面包屑:根据 Angular 路由自动生成面包屑。
  2. 手动配置的面包屑:可以手动设置面包屑的路径和标签。

应用场景

面包屑导航适用于各种需要展示用户当前位置的网站和应用,特别是:

  1. 大型网站:帮助用户在复杂的网站结构中快速定位。
  2. 电子商务网站:提供用户购物路径的清晰展示。
  3. 内容管理系统:帮助编辑和管理员快速导航到特定内容。

问题及解决方案

问题描述

在使用 xng-breadcrumbs 时,页面重新加载后面包屑导航消失。

原因分析

  1. 路由配置问题:可能是路由配置不正确,导致面包屑无法正确生成。
  2. 数据持久化问题:页面重新加载后,面包屑所需的数据没有正确持久化。

解决方案

  1. 检查路由配置: 确保你的 Angular 路由配置正确,并且 xng-breadcrumbs 能够正确解析这些路由。
  2. 检查路由配置: 确保你的 Angular 路由配置正确,并且 xng-breadcrumbs 能够正确解析这些路由。
  3. 确保数据持久化: 如果面包屑导航依赖于某些数据,确保这些数据在页面重新加载后仍然可用。可以使用 Angular 的服务来共享数据。
  4. 确保数据持久化: 如果面包屑导航依赖于某些数据,确保这些数据在页面重新加载后仍然可用。可以使用 Angular 的服务来共享数据。
  5. 在组件中使用该服务:
  6. 在组件中使用该服务:
  7. 检查 xng-breadcrumbs 配置: 确保 xng-breadcrumbs 的配置正确,并且在模块中正确导入。
  8. 检查 xng-breadcrumbs 配置: 确保 xng-breadcrumbs 的配置正确,并且在模块中正确导入。

参考链接

通过以上步骤,你应该能够解决 xng-breadcrumbs 在页面重新加载时消失的问题。如果问题仍然存在,请检查控制台是否有错误信息,并根据错误信息进一步调试。

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

相关·内容

Angular2 之 结构型指令几个概念

NgIf案例分析 该指令接受一个布尔值,并据此让一整块DOM树出现或者消失。 注意:这里是出现或者消失,并不是隐藏。 隐藏元素的利弊 当我们隐藏元素时,组件的行为还在继续。...它仍然附加子啊它所属于的DOM元素上,它仍然在监听事件。angular会继续检查哪些能影响数据绑定的变更。组件原本要做的哪些事情仍然在进行!它还是占用着那么多的资源。...当ngIf重新变成true的时候,angular会重新创建该组件及其子树。angular会重新运行每个组件的初始化逻辑。...控制Template标签内DOM添加与显示,在模板级别使用的。 在Angular应用之外,标签的默认CSS属性display是none 。 它的内容存在于一个隐藏的文档片段中。...,在Angular的控制下,DOM的效果是不同的。 ?

3K20
  • Angular 从入坑到挖坑 - 路由守卫连连看

    4.2、路由守卫 在 Angular 中,路由守卫主要可以解决以下的问题 对于用户访问页面的权限校验(是否已经登录?已经登录的角色是否有权限进入?)...在跳转到组件前获取某些必须的数据 离开页面时,提示用户是否保存未提交的修改 Angular 路由模块提供了如下的几个接口用来帮助我们解决上面的问题 CanActivate:用来处理系统跳转到到某个路由地址的操作...4.3、异步路由 4.3.1、惰性加载 当应用逐渐扩大,使用现有的加载方式会造成应用在第一次访问时就加载了全部的组件,从而导致系统首次渲染过慢。...当问题解决后,就可以针对 crisis 模块设置惰性加载 在配置惰性路由时,我们需要以一种类似于子路由的方式进行配置,通过路由的 loadChildren 属性来加载对应的模块,而不是具体的组件,修改后的...框架会通过 loadChildren 字符串来动态加载 CrisisModule,然后把 CrisisModule 添加到当前的路由配置中,而惰性加载和重新配置工作只会发生一次,也就是在该路由首次被请求时执行

    3.8K30

    angular知识点梳理第二篇-基本语法

    ,但是在angular中我们引入框架的一个核心模块FormsModule才可以,该指令就是将数据驱动视图的改变!...在app.modules.ts中引入forms模块 // 核心模块 import { NgModule } from '@angular/core'; //引入forms模块实现数据的双向绑定 import...item of list,let i = index">{{item.title}} - {{i}} - {{item.id}} 运行效果 NgIf NgIf指令是可以控制页面元素的显示与消失...,这里和隐藏要区别开,他的效果和css中的display:none效果是一致的,和visibility:hidden是要区别开的,当if判断为false的时候,页面上是整个元素都消失了,而不是仅仅隐藏了...css样式 在需要使用数据绑定的组件进行数据的处理 import { Component, OnInit } from '@angular/core'; @Component({ selector

    2.6K30

    教程|在 Angular 4 中加载功能模块(上)

    请注意,本教程适用于熟悉使用 Angular 进行基本 Web 应用程序开发的开发人员。 Angular 中的功能模块 单页 Web 应用程序在启动时仅呈现一个 HTML 页面。...除了该 HTML 页面之外,服务器还会向客户端发送一个应用程序引擎。该引擎会控制整个应用程序,包括处理和加载 HTML 页面。...加载技术 有效的加载策略是开发一个单页应用程序成功的关键。对于示例应用程序,将结合使用 3 种常见的加载技术来实现一种混合加载策略: 贪婪加载:在贪婪加载场景中,所有模块和功能都在应用程序启动时加载。...预加载:在预加载场景中,主应用程序启动所有标为贪婪加载的模块,然后几乎立即在后台加载 。当用户导航到这些辅助模块中的某个模块时,就会加载该模块并准备就绪。...查看 Sources/top/ng:// 部分,然后重新加载 URL。如图 7 所示,您会看到在重启应用程序时自动加载了 AppModule 和 BaseModule。 图 7.

    2.2K10

    使用 Angular Transfer State 的一个具体例子

    使用 Angular Transfer State 的一个具体例子 Using TransferState API in an Angular v5 Universal App 让我们用一个具体的例子来说明这篇文章...当您单击城市名称时,该应用程序会显示该城市的当前天气。 因为我们希望我们的应用程序是可抓取和可索引的,所以我们使它通用:城市页面在服务器上呈现,存储为 HTML 文件并由 HTTP 服务器提供服务。...这些页面将包含浏览器应用程序,因此用户可以在加载第一页后使用 Angular 的强大功能继续在应用程序中导航。 您可以按照以下步骤尝试这个简单的示例。...现在,如果您直接访问页面 http://your-domain/Paris(这是访问者来自搜索引擎的典型情况),您可以观察到页面闪烁 - 这是因为内容已经存在并且已经下载到本地了,然后浏览器应用程序会重新加载并再次显示...在浏览器上,我们使用get方法来获取server提供的数据,我们直接提供这些数据。 我们还从传输状态中删除了提供的数据,因此页面的重新加载将不再使用提供的数据。

    68300

    Angular 1 vs. Angular 2 深度比较

    重新运行变动检查,检查是否有更多的变化发生,重新运行监视器,等等 Angular 1 绑定运行的后果 结果是 DOM 一直同简单 Javascript 对象进行同步,尽管这样可以工作,但是这使得有时难以进行推论...Angular 1 会静默重写模块,当他们有相同的名字 这是一个特性,允许在测试的时候模拟替换服务层的服务,但是如果恰巧在同一模块加载了两次就会发生问题。...因此,在页面初始化并且在 Angular 介入之前,Angular 表达式将被传给组件,并直接作用于它。比如 image 元素用提供的 url 立即加载图片。...目标:为服务器端渲染提供支持 支持服务器端的渲染对于搜索引擎的优化和用户感知体验来说是非常重要的;在一个比较大型的Angular 1 的应用中,即使使用了预先定义的缓存模块,我们可以清楚地看到当应用开始启动时...,页面的加载过程。

    2.8K100

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

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

    1.7K70

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

    重新创建一个新的项目目录,生成器会在这个目录下生成出你的项目文件的。...(当你在试用空格的效果时,确保所有的模块都被标记为绿色)         好的,现在按下回车键。...中实现返回前一页 http://blog.csdn.net/qianqianyixiao1/article/details/51146519 AngularJs返回前一页面时刷新一次前面页面 http:...Loading生命周期事件     View Load Events视图加载事件 viewContentLoading- 当视图开始加载,DOM渲染完成之前触发,该事件将在scope链上广播此事件。...原因分析:         在controller加载时,碰到登录失效时,虽然要跳转到登录页,但是当前runloop周期内,还是应该继续执行剩余代码,因为事件绑定逻辑都要执行完,不然页面回退回来,就会发现事件无法响应

    25420

    AngularDart4.0 指南- 显示数据 顶

    您可以通过将HTML模板中的控件绑定到Angular组件的属性来显示数据。 在这个页面中,您将创建一个包含英雄列表的组件。 您将显示英雄名单的列表,并有条件地在列表下方显示一条消息。...当这些属性改变时,Angular会更新显示。 更准确地说,重新显示是在与视图相关的某种异步事件之后发生的,例如按键,计时器完成或对HTTP请求的响应。... 当您使用AppComponent类(在web / main.dart中)引导时,Angular将在index.html中查找,查找它,实例化AppComponent...有关更多信息,请参阅模板语法页面。 注意ngFor指令中的hero变量; 它是模板输入变量的一个例子。 在“模板语法”页面的microsyntax部分阅读有关模板输入变量的更多信息。...当组件的英雄列表中有三个以上的项目时,Angular会将该段落添加到DOM,并显示消息。 如果有三个或更少的项目,Angular会忽略该段落,所以不会显示任何消息。

    5.3K10

    教程|在 Angular 4 中加载功能模块(下)

    /currency/currency.module#CurrencyModule' } ]; 更新后的代码告诉 Angular,在用户请求时加载辅助模块。...第一次请求某个新路径时,会惰性加载该模块并重新配置应用程序路径。然后该路径立即可供后续请求使用。 更新 UI 接下来,将会更新用户界面。...在这种情况下,在贪婪加载主要模块后,路由器开始预加载标有 loadChildren 属性的所有剩余模块。 要为预加载重新配置应用程序,可编辑您的 app-routing.module.ts,如下所示。...在 Chrome 浏览器中重新加载该应用程序,然后转到 Chrome 开发人员工具的 Network 和 Sources 选项卡。...参见 Angular4PreLoadModules.zip 中的示例应用程序,更详细地了解预加载。 自定义预加载:在大型应用程序中,仅预先加载少数惰性加载模块的做法是比较合理的。

    2.3K10

    记录工作中遇到的各种问题(Bug,总结,记录)

    页面使用Angular.js(1),页面中iframe中初始设置src属性的话,会导致页面重新加载一次 例如设置一个初始值,某些操作之后再更改src 页面中有iframe,iframe里面有分页按钮,在父页面对iframe做加载之后监听iframe中点击事件的操作,初始第一页正常,但点击第二页之后事件就失效了 原代码: ?...,包含几个component,弹窗是调用子component出来,原想在调子component的时候才触发其componentDidMount事件,不料早在页面加载时所有component的componentDidMount..., 尽可能地让关键的资源在最先的并行顺序中加载,页面整体加载感觉就快多了 难点TTFB还与资源的加载时机有关?...数据量大滚动时的卡顿,可以尝试加上will-change: transform来避免重新布局 在几万条数据的表格中试过,因为每条数据又有一些绑定,导致每次渲染都有卡顿现象,滚动的时候一卡一卡的 滚动时,

    18.2K12

    如何选择前端框架:ANGULAR VS EMBER VS REACT

    Angular 2.0(与1.0对比,发生了翻天覆地的变化) Angular是目前最流行的框架之一,Angualr1.0 首次发布时让业界很多人士为之震撼,它使MVC框架更上一层楼。...服务器端渲染能力 Angular2.0终于实现了服务器端渲染,服务器端渲染能力有所提升,减少了初始页面加载时间,可通过动态页提升SEO。页面渲染速度提升将大大改进Web App的体验。 ?...Angular很多方面的改进都期望能够使Angular成为众多企业开发首选的框架,使用2.0目前来看似乎有点冒险,但我相信Angular2.0时代即将到来。...高级服务器端渲染器减少了页面加载时间,优化搜索引擎。 ? 谁更适合使用Ember 实现Web app ,Ember是最佳选择。如上所述,很多App都内置使用了Ember框架。...使用React框架,可以让App UI 创建以及重新创建UI 变得很简单。如果你想逐渐改善存在的项目,选择React是非常合适的。

    2.4K70

    浅谈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.4K20

    Angular实战之使用NG-ZORRO创建一个企业级中后台框架(进阶篇)

    钩子 用途及时机 ngOnChanges() 当 Angular(重新)设置数据绑定输入属性时响应。...ngOnInit() 在 Angular 第一次显示数据绑定和设置指令/组件的输入属性之后,初始化指令/组件。 在第一轮 ngOnChanges() 完成之后调用,只调用一次。...[请求数据时使用] ngDoCheck() 检测,并在发生 Angular 无法或不愿意自己检测的变化时作出反应。...修改项目默认调转页面,Angular应用多模块路由配置: 找到app-routing.module.ts文件,在【routes】对象中声明新模块路由,以及项目默认调转页面地址修改。 ?...多模块路由完美解决): 首先,我们的博客项目存在博客管理和用户管理两个核心模块,我们创建了两个模块,那么我们如何在【app-routing.module.ts】应用路由文件中配置多个模块的路由,我们可以通过延迟加载子路由的方式来加载相关模块的子路由

    4K20

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

    于是WEB1.0技术出现了,将程序与页面混合在一起,用特殊的标记分开,并且把页面的名字由HTML变成了ASP,PHP,JSP等等,这样web服务器就会识别为需动态加载的页面,从而调用ASP等对应的CGI...动态页面使得前端本身的丰富程度大大提升。这一下子迎来了整个互联网开发的繁荣时期,但这种模式下的任何数据更新,都需要刷新整个页面,并且在带宽不足的年代,这样做会耗费不少加载网页的时间。...WEB2.0的发展 WEB1.0前面提前了加载慢,它有一个天生弊端,一个是加载页屏白屏,无论现在浏览器障眼法多少,只要网页一卡,白屏必然出现。比如你公众号打开一个网页,刚开始加载的时候,是不是白屏。...Ajax这个技术让我们可以异步的获取数据并且刷新页面,从此前端不再受限于后端的模板,这也宣告了Web2.0时代正式到来。至此,前端工程师也正式作为一个独立工种出现。...各大框架在这个步骤上,各显神通: Angular1就是最老套的脏检查。所谓的脏检查,指的是Angular1在对数据变化的检查上,遵循每次用户交互时都检查一次数据是否变化,有变化就去更新DOM这一方法。

    1.3K10

    AngularDart4.0 指南- 表单 顶

    在开发表单时,创建一个数据录入体验非常重要,该体验可以通过工作流高效地引导用户。...您在内部维护该列表(在HeroFormComponent中)。 您将在表单中添加一个select,并使用ngFor(先前在“显示数据”页面中看到的一种技术)将选项绑定到powers列表。...您会看到这些字符出现在诊断文本中并消失。 在某个时候,它可能看起来像这样: ? 诊断结果表明数值确实是从输入流向模型,再返回。 这是双向的数据绑定。...如果您忽略原始状态,则只有在该值有效时才会隐藏该消息。 如果您使用新(空白)英雄或无效英雄到达此组件,则在您执行任何操作之前,您将立即看到错误消息。...提交的标志变为真,表格消失。 您将看到表格中显示的英雄模型值(只读)。 ? 该视图包含一个编辑按钮,其单击事件绑定将清除提交的标志。 当您单击编辑按钮时,该表消失,并且可编辑的表单重新出现。

    17.5K30

    angular面试题及答案_angular面试

    在传统的web技术中,客户端请求一个web页面(HTML/JSP/asp),服务器返回资源(或HTML页面),客户端再次请求另一个页面,服务器用另一个资源响应。...问题就在于请求/响应中消耗了大量时间,或者是重新加载使用了大量时间。而在SPA技术中,即使URL不断变化,我们也只维护一个页面(index.HTML)。 13....当没有配置base标签时,加载应用会失败。 23....Angular的懒加载 默认情况下,在初始化的时候所有路由都会加载,导致加载缓慢,启动速度慢,所以可以使用懒加载 懒加载 : 通俗 的讲就是进入主模块之后,子模块不加载,等真正访问到子模块之后,再去加载...6)如果应用程序较大时,我会考虑延迟加载而不是完全捆绑的应用程序。 27. 使用Angular的好处 可以添加自定义的directive. 优秀的社区支持。 客户端和服务器的通讯非常便利。

    11.3K120
    领券