问题标签 [router-outlet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 命名路由器出口和延迟加载模块
我有命名路由器出口和延迟加载模块的问题。我有 2 个路由器插座,第一个没有名字,第二个名为mainapp。
app.component.html
app.main.component.html
应用程序.routes.ts
客户端.module.ts
- LoginComponent 被加载到路由器出口
- 登录后 AppMainComponent 被加载到路由器出口
- 现在我尝试将 ClientComponent 加载到命名路由器插座mainapp
我收到错误
当我修改路线时,它可以工作:
angular2-routing - 角度 - 不想在路由视图中显示主视图的一部分
我的主 (app.component.html) 视图中有两个 html 部分 - 一个用于导航到子页面的按钮导航栏,另一个部分用于显示记录表。When select a record of the table I expect the details page of the record should display in the router-outlet but the table should be disappeared. 但是详细信息页面显示在表格下方,而我希望当应用程序路由到子页面(详细信息页面)时记录表应该消失。任何帮助如何实现这一点将不胜感激。
这是我的代码:
谢谢是的。
angular - Angular 5无法匹配延迟加载模块的命名出口上的任何路由
我的根模块路径是这样的:
它按预期工作,我可以在登录后路由到 ManagementPortalModule。让我们看看我的延迟加载的 ManagementPortalModule。
有一个命名的路由器插座。
我在 ManagementPortalModule 中的路线。
它可以在开始时将 Test1Component 加载到“子”插座中。单击链接时,我想路由到 Test2Component
生成的网址
/管理门户/(子:test2)
单击时没有任何反应。然后我尝试了
网址
/管理门户(子:test2)
我认为根据this的url格式正确,然后点击时出现错误
无法匹配任何路由。URL 段:'test2'
请帮忙,非常感谢!
angular - 从命名插座路由到命名插座,角度 4
应用程序的路线是:
] }
所以,我可以导航到 profilePageComponent:
但是从 ProfilePageComponent 导航到 profileOutlet 不能使用以下代码:
或者
所以,我需要帮助来从一个命名的路由器插座导航到另一个命名的路由器插座
angular - 子路由中命名router-outlet的设置内容
在我的应用程序中,我想在两个路由器插座中显示内容,主插座和命名插座。如果我将两个插座都放在根级别,我可以像这样设置命名插座的内容:
但是,我希望应用程序的总体布局能够提供单个路由器出口并能够在子路由中使用不同的路由器出口结构。
如果我创建一个子路由,它也有一个主要和一个命名出口,我无法设置辅助出口的内容。报告的错误是:
无法匹配任何路由。
路由定义如下:
app.component.html的模板包含一个主要出口和 - 出于测试目的 - 一个命名的次要出口:
上面的代码是从一个按钮调用的,并且设置了 rootSecondary 出口没有任何问题。
模板child.component.html定义了两个位于根主出口内部的出口:
child.primary.component.html包含一个按钮,该按钮调用代码来设置辅助插座:
单击后,将运行以下代码:
如何更改代码以填充路由器插座 childSecondary?
javascript - 嵌套页面上的 Angular 5 多个路由器插座
问题是我正在工作的嵌套路由器插座与子页面上有多个路由器插座的组合。为简单起见,我有一个带有“登录”链接的主页
然后登录到:Active.Module。这就像一个主页,可以有许多区域(路由器插座),每个区域都做不同的事情(组件)。活动.html:
主页->登录“启动页面”活动根目录->应该是主页项目管理显示在未命名的路由器出口中执行显示在未命名的路由器出口中第二个是问题......它不显示在命名的出口中.
app-routing.module 的路由定义为:
当我单击 SECONDARY 链接时,路由最终采用 InvalidPageComponent 路径。
当我把它变成一个真正的应用程序时,唯一的要求是:
a) 一些父页面,其内容出现在“全局”应用程序路由器出口中(当然根据需要)。
b) 这些页面的一个示例(如 Active)具有“正常”内容,如左侧绿色框。
c) 页面的某些区域(未命名和命名的路由器出口)包含来自特定于该页面的其他子组件的内容。
我想我已经尝试了这个星球上的每个站点和 plunker,但是......没有运气。我感谢您的帮助。提前致谢。
瑜伽士
angular - 以编程方式在角度 2 中设置组件的内容
我创建了一个简单的窗口组件,它有一个标题并显示了一些内容。我的应用程序一次只会显示一个窗口,所以我将它放在我的应用程序的根目录中,并且只在需要时更改其内容。
由于我需要能够从应用程序的各个位置设置窗口内容,因此我创建了我的组件绑定到的服务。这样我就可以从我需要的任何地方调用服务上的方法,并更改窗口组件的属性。
然而,我不知道如何处理该服务,是指定要显示为窗口内容的组件实例。我可以以某种方式例如以编程方式设置ng-content
窗口组件吗?
我当前的解决方法是在窗口组件中指定所有可能的内容,并选择正确的内容,*ngIf
如下所示:
它工作得很好,但是列表越来越长并且难以维护。我也不喜欢将我的窗口组件与所有其他与它无关的组件结合在一起。此外,每个不同的内容都有自己的输入参数,现在窗口服务和组件也需要跟踪这些参数......
所以我的问题是;是否有一个我不知道的角度特性可以解决这些问题,或者我应该以另一种方式处理它?
想到的事情是ng-content
在窗口组件中放置一个标签,并以某种方式让服务用我需要的东西替换那个标签。或者我应该router-outlet
在我的窗口组件内放置一个?我也不喜欢这种方法,因为更改内容不应该算作导航。我已经有了一个与这个组件无关的出口。
angular - Angular 5 - 对于路由组件,如何删除 ng-component 标签元素
首先,我想说我知道如何通过选择器删除组件的标签。比如像这样使用属性选择器:
selector: "div[my-component]"
我现在正在使用 Angular 5,我的问题是有由 渲染的组件router-outlet
,并且这些组件被自动放入一个ng-component
元素中。我无法在任何地方使用属性选择器。如何删除这个元素?该元素导致我的 CSS 中断。