问题标签 [angular4-router]

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.

0 投票
0 回答
227 浏览

angular - Angular 2 - 打开一个带有 Angular 应用程序结构的窗口


我正在开发一个 Angular 2 应用程序。在我的主页中,我需要一个打开新窗口的按钮(不是 TAB / 窗口应该在与 PC 连接的平板电脑上移动)。两个窗口(主窗口和生成窗口)需要通过 postMessage/signalR 库进行通信。

我基本上创建了一个按钮组件并绑定了一个调用 的函数window.open('mycustomurl','_blank', 'etc..'),然后我移到了平板电脑上。但现在我在这个新窗口中特别需要一个 Angular 结构(组件、服务……)。

我怎样才能做到这一点?我尝试了 1) Angular Router,2) 在单个项目中构建两个不同的应用程序(两个索引,两个主要等),结果均为零。

0 投票
1 回答
1160 浏览

angular - ActivatedRoute .parent 是 Angular 4 中的一个空对象

我在子路由上的 route.parent.params 上得到一个空对象。

据我了解,这就是您获取父参数的方式。我错过了什么?

以下答案不是正确答案。

0 投票
0 回答
183 浏览

angular - 在angular4中刷新页面时子路由被停用

嗨,我对角度很陌生,根据我的要求,我准备了这样的路由模式

列表.html

list.component.ts

编辑.component.ts

RoleService.ts 导出类 RoleService {

在上面的组件中,我在重定向到 o 索引角色的查看页面后,从 roleservice 获取所有角色,之后如果用户想要转到另一个视图或编辑页面,那么上面的列表 html 它将导航,它工作得很好

现在我的问题是

1)如果用户目前正在编辑页面 url,例如“cloud/role/list/edit/6”,在此如果用户刷新页面,它会重定向到 o index 角色视图页面,但我的要求是编辑(id-6)即使刷新页面后链接也应该是活动的,默认情况下首先只显示视图页面,

2)在列表组件中,我正在获取所有角色,数据包含roleId,roleName,status,system---每个角色的属性,我希望这个属性在我从路由器获得的源ID的编辑组件中,但对于其他我正在使用 rxjs 行为主题的事情,我在我的编辑页面中获得了所选角色的详细信息,

probelm 在刷新页面后给出 0,

如何解决上述两个问题,有没有其他方法可以满足我的要求,我在做什么错了,请指导我

提前致谢

0 投票
1 回答
1646 浏览

angular - 在角度 4 中切换多个侧面导航

我的组件结构是

我的屏幕设计

在此处输入图像描述

这是我的 app.component.html 代码

这是我的 app.component.ts

这是我的销售组件.html

这是我的 sales.component.ts

在 commonservice.ts 中,我像这样调用了 toggle 和 sidesetnav

当我点击销售菜单时,侧面导航完美切换。但是当我点击税务报告菜单时,侧面导航不会切换。它只是在内容区域中显示一个空白页面。我找不到在运行时传递给服务的侧栏。我在销售和税务报告中调用 setSidenav() oninit()。所以发生的事情是,传递的最后一个侧栏被设置为sidenav,并且只有那个切换。我不明白我在做什么错误。我什至尝试创建 2 个单独的函数作为 setSideNav1() 和 toggle1() 但仍然是同样的问题。

编辑:@Llorenc Pujol Ferriol:我对您的代码做了一些更改。这就是我所做的,并且效果很好。

但问题是容器占据了宽度的主要部分,我无法为 matside-nav-container 设置宽度。当我设置它的行为很奇怪。这是它的屏幕截图。

仪表板和侧边栏

更新:我通过添加解决了宽度问题[ngStyle]="{ 'width.vw': setSalesWidth }"

0 投票
2 回答
975 浏览

javascript - 如果在我的所有路线上调用组件(Angular4),我如何隐藏我的导航栏

我知道这个问题的变体之前已经被问过数百万次,但我似乎无法解决我的问题。

所以我正在制作一个会计网站,我的问题是我似乎无法隐藏登录页面的顶部导航栏,并且仍然将其保留在我的所有其他页面/路线上:

我在 app.component.html 中调用导航栏组件,以便它显示在我的所有页面上:

登录页面具有简单的身份验证,因为我仍在制作模板,最终用户名和密码将来自后端数据库。

登录页面 ts 文件如下所示:

我还有一个用户服务:

我已经看到有关 Auth 等的答案,但我似乎无法围绕我的代码来塑造答案。

如何隐藏登录页面上的导航栏?

我将不胜感激。谢谢

编辑

这是 Dhyey 要求的路由文件:

编辑 2 这是 app.component.ts 文件

0 投票
0 回答
24 浏览

angular - 从单个路径中解析多个路由

我在 Angular4 中有一个问题,多个用户将访问路径'',我希望我的路由根据访问将它们重定向到正确的组件。

这些是我的路线,但只考虑第一个:

在上面的示例中,仅评估路径 main 中的第一个孩子,但是,我需要评估两者。

0 投票
3 回答
2934 浏览

angular - 角度路由不起作用。抛出错误组件不是模块的一部分

我正在创建 Angular 4 应用程序并尝试实现基本路由。我的应用程序编译正常,但我的路由不起作用

我收到错误 Component HomeComponent is not part of any NgModule 或该模块尚未导入您的模块。

我还没有配置路由器链接,但假设路由应该从浏览器中的请求中工作。

当我单击主页时,home.component.html 的内容应该类似地加载,单击编辑、新建、电影应该分别执行相同的操作

有人能告诉我我的进口是否有任何问题。具体来说

有电影、家庭、编辑和新的

这是我的文件夹的结构

在此处输入图像描述

app.module.ts

批准.module.ts

home.module.ts

主页.component.ts

0 投票
3 回答
11254 浏览

angular - 无法绑定到“routerLink”,因为它不是“a”的已知属性。尽管引用了路由器模块,但仍然出错

我正在我的 Angular 4 应用程序中实现基本路由,并在浏览器上加载应用程序时出现以下错误。我已经在 approuting.module 中定义了路由,同时也引用了 Ngmodule 中的路由器模块以及 approuting.module。不确定是什么问题

下面是我的应用程序的源代码

movie.component.html 中剑道网格的片段

批准.module.ts

应用程序模块

0 投票
1 回答
820 浏览

angular - 带有“?”的角度路由 哈希之前

我们需要在 url 中插入一个带有问号的哈希。就像

本地主机:4200/?哈希码

并且只读取哈希。

现在是在没有问号的情况下读取它,但是当我们将它放在哈希之前,它不起作用。

我们如何正确配置去路由来达到这个要求?

提前致谢,

0 投票
1 回答
93 浏览

angular - Angular 扩展了组件交互

我和我的合作伙伴正在开发一个 Angular 4 应用程序,其中最高级别的组件 (AppComponent) 有一个在整个应用程序中持续存在的组件(我们将称为 UndoComponent)。我们在 AppComponent 中有一个路由器出口,对于这个例子,假设路由器当前正在显示 ContentComponent。

有时 ContentComponent 中的项目可能需要与 UndoComponent 对话。例如,当某个事件被触发时,我们可能希望将一些信息推送到 UndoComponent 内部的堆栈中。所以我们需要做一些事情来让 ContentComponent 告诉 AppComponent 更新 UndoComponent 的堆栈。

我知道可以通过使用共享服务和 Observables 来实现从子组件(特别是路由子组件)更新父组件,但我的伙伴建议我们让 ContentComponent 扩展 AppComponent,然后使用 AppComponent 内部的方法来更新 UndoComponent。

我对这个解决方案感到不安。我找不到任何关于为什么应该或不应该使用组件继承进行父/子通信的信息。我确实觉得这样做会容易得多,因此我们不必继续在我们的服务中创建可观察对象来进行这些类型的更新。

想法?