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

angular命名的路由器出口不显示组件

在Angular中,路由器的出口(router outlet)是用来显示当前激活路由对应的组件的地方。如果你发现命名路由器出口不显示组件,可能是以下几个原因造成的:

基础概念

  • 路由器出口:在Angular应用中,<router-outlet>是一个指令,用于标记组件视图应该被渲染的位置。
  • 命名路由器出口:允许你在同一个模板中有多个路由器出口,并且可以指定路由到特定的出口。

可能的原因及解决方法

  1. 路由配置错误: 确保你的路由配置中正确地指定了命名出口。
  2. 路由配置错误: 确保你的路由配置中正确地指定了命名出口。
  3. 模板中的命名出口使用不正确: 在你的组件模板中,确保使用了正确的命名出口。
  4. 模板中的命名出口使用不正确: 在你的组件模板中,确保使用了正确的命名出口。
  5. 导航链接或编程式导航未指定出口: 当使用导航链接或编程式导航时,需要指定目标出口。
  6. 导航链接或编程式导航未指定出口: 当使用导航链接或编程式导航时,需要指定目标出口。
  7. 或者在组件中:
  8. 或者在组件中:
  9. 路由守卫阻止了导航: 如果有路由守卫(如CanActivateCanDeactivate等)阻止了导航,组件也不会显示。
  10. 路由守卫阻止了导航: 如果有路由守卫(如CanActivateCanDeactivate等)阻止了导航,组件也不会显示。
  11. 组件未正确导入或注册: 确保你的组件已经在模块中正确导入并声明。
  12. 组件未正确导入或注册: 确保你的组件已经在模块中正确导入并声明。

应用场景

命名路由器出口通常用于以下场景:

  • 在同一页面中显示多个独立的部分,例如侧边栏和主要内容区域。
  • 实现复杂的布局需求,如仪表板应用中的多个视图。

示例代码

假设我们有一个应用,需要在主区域显示HomeComponent,在辅助区域显示AboutComponent

路由配置

代码语言:txt
复制
const routes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'about', component: AboutComponent, outlet: 'aux' }
];

模板

代码语言:txt
复制
<router-outlet></router-outlet>
<router-outlet name="aux"></router-outlet>

导航链接

代码语言:txt
复制
<a routerLink="/about" routerLinkActive="active" [routerLink]="[{ outlets: { aux: 'about' } }]">About</a>

通过以上步骤,你应该能够解决Angular命名路由器出口不显示组件的问题。如果问题仍然存在,建议检查控制台是否有错误信息,并根据错误信息进一步调试。

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

相关·内容

Angular 快速学习笔记(1) -- 官方示例要点

Angular 的最佳实践之一就是在一个独立的顶级模块中加载和配置路由器,它专注于路由功能,然后由根模块 AppModule 导入它 b. ng generate module app-routing...添加路由 ,路由定义 会告诉路由器,当用户点击某个链接或者在浏览器地址栏中输入某个 URL 时,要显示哪个视图,因此路由包含两个属性: i. path:一个用于匹配浏览器地址栏中 URL 的字符串...ii. component:当导航到此路由时,路由器应该创建哪个组件 const routes: Routes = [ { path: 'heroes', component: HeroesComponent...要使用路由,必须首先初始化路由器,并让它开始监听浏览器中的地址变化 b....快速学习笔记(4) -- Observable与RxJS Angular快速学习笔记(3) -- 组件与模板 Angular快速学习笔记(2) -- 架构 Angular 快速学习笔记(1) -- 官方示例要点

3.6K00

Angular 快速学习笔记(1) -- 官方示例要点

Angular 的最佳实践之一就是在一个独立的顶级模块中加载和配置路由器,它专注于路由功能,然后由根模块 AppModule 导入它 b. ng generate module app-routing...添加路由 ,路由定义 会告诉路由器,当用户点击某个链接或者在浏览器地址栏中输入某个 URL 时,要显示哪个视图,因此路由包含两个属性: i. path:一个用于匹配浏览器地址栏中 URL 的字符串...ii. component:当导航到此路由时,路由器应该创建哪个组件 const routes: Routes = [ { path: 'heroes', component: HeroesComponent...要使用路由,必须首先初始化路由器,并让它开始监听浏览器中的地址变化 b....快速学习笔记(4) -- Observable与RxJS Angular快速学习笔记(3) -- 组件与模板 Angular快速学习笔记(2) -- 架构 Angular 快速学习笔记(1) -- 官方示例要点

3.7K50
  • 🔥【Angular教程】路由入门

    在App的app-routing中配置路由器 一个最简单的组件路由必备一个path(路由的Url)属性和一个component(Url对应加载的组件)属性: const routes: Routes =...ng g c pages/home/children/edit-user 为Home路由器配置增加children属性来配置子组件路由 const routes: Routes = [{ ......}, { path: '', redirectTo: '/home/list', pathMatch: 'full' } ] }]; 同根组件一样配置子模块路由出口...配置无组件路由(空路由) 对路由进行分组而不增加额外的路径片段 { path: 'home', loadChildren: () => import('....与懒加载相对的预加载 angular中配置懒加载后模块的加载被延迟到来使用时,但是有一些组件是需要优先加载并在使用的时候可以及时运行。

    4.4K50

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

    并非所有的应用程序都需要路由,这就是为什么Angular路由器处于独立的可选软件包中的原因。...但是,您必须告诉路由器在哪里显示组件。 为此,在模板的末尾添加一个元素。 RouterOutlet是ROUTER_DIRECTIVES之一。 ...当用户通过应用程序导航时,路由器会在正下方显示每个组件。 刷新浏览器,然后访问localhost:8080 /#/ heroes。 你应该看到英雄列表。...按钮的点击事件绑定到一个gotoDetail()方法,该方法应该通过告诉路由器去哪里命令性地导航。 这种方法需要对组件类进行以下更改: 导入angular_router。...你走过的路 以下是您在此页面中所取得的成果: 您添加了Angular路由器来浏览不同的组件。 您了解了如何创建路由器链接来表示导航菜单项。 您使用路由器链接参数导航到用户选择的英雄的细节。

    17.6K30

    AngularDart 4.0 高级-路由概述 顶

    在引导您的应用时注册适当的路由器提供商。 确保每个路由组件都具有列出组件使用的路由器指令的元数据。 有关详细信息,请参阅声明路由器提供程序和指令。...>元素来告诉路由器如何编写导航网址。 有关详细信息,请参阅设置基础href。 配置 当浏览器的URL更改时,路由器会查找相应的RouteDefinition,从中可以确定要显示的组件。...最常见的,如上所示,是一个命名的路由,它将URL路径映射到组件。...以下是关键路由术语及其含义: 路由器组成部分 涵义 Router 显示活动URL的应用程序组件。 管理从一个组件到下一个组件的导航。...Routing component 一个带有RouterOutlet的Angular组件,可根据路由导航显示视图。 示例应用程序 本指南介绍了多页面路由示例应用程序的开发。

    6.1K20

    Angular 5.0.0发布!

    Domino支持在服务器端环境下更多的开箱即用的DOM操作,可以改进我们对非服务端第三方JS及组件库的支持。 编译器改进 为支持递增编译,我们改进了Angular编译器。...这样可以使用只能在运行时计算的装饰器中被降级(lower)的值。 因此现在可以不使用命名函数,而改用Lambda函数。换句话说,执行代码不会影响你的d.ts或你的外部API。...exportAs 组件和指令中增加了对多名称的支持。这有助于用户实现无痛迁移。通过把指令导出为多个名称,可以在不破坏原有代码的情况下在Angular语法中使用新名称。...新的路由器生成周期事件 我们给路由器添加了新的生命周期事件,让开发者可以跟踪running guard启动到激活完成的各个阶段。...这些事件可在有子组件更新时,在一个特定的路由器出口上展示加载动画,或者测量性能。

    4.4K40

    Angular核心-路由和导航

    Angular核心-路由和导航 博客首页:蔚说的博客 欢迎关注点赞收藏⭐️留言 作者水平很有限,如果发现错误,求告知,多谢! 有问题可私信交流!!!...(达内教育学习笔记)仅供学习交流 @[TOC]Angular核心-路由和导航) 多页面应用 :一个项目有多个完整的HTML文件,使用超链接跳转–摧毁一颗DOM树,同步请求另一颗,得到之后再重建新的DOM.../路由出口应该放在UserCenter.component.html中 路由守卫 商业项目中,有些路由地址只能在特定的条件下才能访问,例如: 用户中心,只能登陆才能访问,(会话限制) TMOOC...视频播放,只能在学校内播放(客户ip地址限制) VIP学员视频播放,只能在13:30-22:00时间播放… Angular提供了“路由守卫(Guard)”来访问路由组件前的检查功能:如果检查通过(return...会根据当前的路由器状态动态填充它。

    2.3K20

    移除 View Engine 转用 Ivy,盘点Angular 12的重要更新

    当然大家也不必担心,为了确保 Angular 框架和组件的函数库能够平滑过渡到 lvy,官网目前还会继续使用 View Engine,大约会在 Angular 13 彻底完成移除 View Engine...默认情况下,CLI 将启用严格模式以捕捉开发早期的各种错误。 Webpack 5 模块捆绑器现已实现生产就绪。 不再支持 IE11 浏览器。 对于编译器,新版本提供转换组件样式资源的支持能力。...允许您自定义路由器出口实施方法。 新版本增加对 TypeScript 4.2 的支持,但对 TypeScript 4.0 与 4.1 的支持功能将被移除。...向 Angular 语言服务添加一项功能,允许用户直接访问使用模板文件的组件的实际位置。...新版本还对大量 bug 做出修复,进一步完善了编译器、compiler-cli、Bazel 构建工具、路由器以及 Angular 内其他组件的运行质量。

    4.5K10

    Angular快速学习笔记(2) -- 架构

    - 组件定义视图,是可视化部分,每个应用都至少有一个根组件 - 组件使用服务,组件提果数据可视化,而服务提供与视图不直接相关的功能,后台开发的容易理解。...每个 Angular 应用都有一个根模块(root module),通常命名为 AppModule。根模块提供了用来启动应用的引导机制。 一个应用通常会包含很多功能模块。...但是,任何模块都能包含任意数量的其它组件,这些组件可以通过路由器加载,也可以通过模板创建。那些属于这个 NgModule 的组件会共享同一个编译上下文环境。 ?...视图通常会分层次进行组织,让你能以 UI 分区或页面为单位进行修改、显示或隐藏。 与组件直接关联的模板会定义该组件的宿主视图。...1.2.3.2 Pipes管道 一般的模板引擎都会提供pipes功能,angular也不例外,Angular 的管道可以让你在模板中声明显示值的转换逻辑。

    5.3K20

    Angular的12个经典问题,看看你能答对几个?(文末附带Angular测试)

    Angular应用程序具有路由器服务的单个实例,并且每当URL改变时,相应的路由就与路由配置数组进行匹配。...保护运行后,它将解析路由数据并通过将所需的组件实例化到 中来激活路由器状态。...RouterModule.forChild会再次采用路由数组为子模块组件加载并配置路由器。...如果我们需要扩展外部库的类型定义,一个好的做法是,我们并非对node_modules或现有的typings文件夹进行改动,而是创建一个命名为“自定义类型”的新文件夹,来存储所有的自定义类型。...感兴趣的同学,可以尝试构建一个“答题系统应用程序”,具体要求为: 有三个组成部分:测试视图、审查结果和显示结果 接受json格式的提问问题,你可以以预定义的格式从服务器发送json,Angular2测试应用需要在客户端呈现出答题界面

    17.4K80

    Blazor 中的路由和路由模板

    目前所有 Web 开发框架都具有路由组件,Blazor 也不例外。在本文中,我将探讨 Blazor 路由引擎的实现和编程接口。 路由引擎 Blazor 路由引擎是在客户端运行的组件。...路由器之战:Blazor 与Angular 很长一段时间,路由逻辑的实现都隐藏在 Web 服务器或服务器端框架(如 ASP.NET)的折叠中。...路由器的实现是通过 SPA 框架(其中 Angular 最为出色)移动到客户端的。让我们花点时间对合并的 Angular 路由器和仍在使用的 Blazor 路由器中的功能进行简要比较。...与 Angular 路由器不同,它在获取路由参数后无法异步运行解析步骤。最后,Blazor 路由器不支持条件重定向到备用路由 - 这也是 Angular 路由器可以做到的。...URL 中跟踪 /user/view/ 的任何内容都与命名参数 {Id} 相关联。 如果熟悉 ASP.NET MVC(在很大程度上甚至是 Web 窗体),这种模型绑定模式应是老生常谈。

    8.4K21

    Angular 从入坑到挖坑 - Router 路由使用入门指北

    在 Angular 项目中,系统的路由需要我们将一个 url 地址映射到一个展示的组件,因此需要手动的去设置 url 与组件之间的映射关系 因为我们在使用 Angular CLI 创建项目时,选择了添加路由模组...-- 组件渲染的出口 --> 当然,如果你非要自己给自己找事,就是要用...a 标签的 href 属性进行跳转,当然也是可以的,不过在后面涉及到相关框架的功能时就会显得有点不辣么聪明的样子了 4.1.3、重定向与通配地址 在普遍情况下,对于进入系统后的默认路径,我们会选择重定向到一个具体的地址上...,因此当嵌套路由配置完成之后,在嵌套的父级页面上,我们需要定义一个 标签用来指定子路由的渲染出口,最终的效果如下图所示 我是父路由页面显示的内容 ...-- 加载子路由的数据 --> 子路由组件渲染的出口 ?

    4.2K50

    Vue-Router 入门与提高实战示例

    VueRouter :路由器类,根据路由请求在路由视图中动态渲染选中的组件 router-link :路由链接组件,声明用以提交路由请求的用户接口 router-view:路由视图组件,负责动态渲染路由选中的组件...路由器完全依赖于其路由表进行路由决策,因此,在创建路由器实例时,我们需要 对所有可能的路由(从路径向组件的映射关系)进行配置。...2、将路由器注入Vue实例 如果在一个Vue实例的模板中需要使用router-link和router-view组件,我们需要首先向这个Vue实例注入路由器对象,因为这两个组件都依赖于路由器对象: ?...$router) //输出router 3、声明路由出口 路由视图组件(router-view)为路由器($router)提供了所选中组件 的渲染出口。...重定向路由记录的声明也支持使用命名路由。

    3.6K21

    Angular2 之 路由与导航基础知识路由模块组件路由路由守卫

    导航是很简单的,只是不同页面之间的切换,路由是实现导航的一种。 一个url对应的一个页面,在angular2中是一个组件。定义一个规则。...const appRoutes: Routes = [ { path:'',// empty path匹配各级路由的默认路径。 它还支持在不扩展URL路径的前提下添加路由。...如果当前URL无法匹配上我们配置过的任何一个路由中的路径,路由器就会匹配上这一个。当需要显示404页面或者重定向到其它路由时,该特性非常有用。...const appRoutingModule: ModuleWithProviders = RouterModule.forRoot(appRoutes); RouterOutlet - 路由插座 显示路由器生成的视图...几个概念 无组件路由 无组件路由,不借助组件对路由进行分组。来看AdminComponent 下的子路由,我们有一个带path和children的子路由,但它没有使用component。

    3.3K10

    Angular 应用是怎么工作的?

    别在意,都是表达同样内容的文件,只是命名不同而已。 angular.json 包含应用的所有配置信息。Angular builder 将通过这份文件,查找到应用的入口。...因此,bootstrapping 就像是一种装置或说一种加载的技术,启动 Angular 应用。当我们加载组件或者模块的时候,它将被渲染。 现在,我们找到了应用入口。.../app.component.css'] }) export class AppComponent { title = 'angular'; } 每个组件都声明三个属性: Selector -- 用于访问该组件...Template/TemplateURL -- 包含组件的 HTML StylesURL -- 包含改组件的特定样式 之后,Angular 会调用 index.html 文件。...通过 app.component.html 模版文件(如下)路由出口 Router-outlet ,页面组件可以和 URL 一一对应,然后在 标签内渲染。

    1.5K30

    angular使用NG ZORRO来构建博客展示项目(项目结构及路由)

    通过命令很方便的创建模块和组件 创建路由 配置根路由,我们这里用的loadChildren的方式 在routes文件夹下创建routes.ts文件并写入如下代码 import {LayoutComponent...要在这里declaration declarations: [NoteListComponent, NoteComponent] }) export class BlogModule { } 路由出口...router-outlet 跟路由的出口在app.component.html文件中 博客子模块的路由出口在layout.component.html...效果 源码下载 思考 这章主要写了路由和项目文件的管理。 结合angular的模块化思想,尽量将不同功能的东西分在不同的文件夹中,组成不同的模块。...如果我要以后要扩展blog相关的东西,就只需要在BlogModule中增加相应的组件,然后添加子模块路由即可。

    1.2K30
    领券