问题标签 [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 投票
1 回答
797 浏览

angular - angular4路由没有保持刷新

重新加载页面(F5 或在地址栏中输入 url)时,不会保留当前路由。我有两个独立的模块,主应用程序模块和仪表板模块。这些模块每个都有自己导入的路由模块。如果我导航到http://localhost它会重定向到http://localhost/dashboard/overview但如果我通过地址栏导航到任何其他路由它会重定向回http://localhost/dashboard/overview

单击使用 routerlinks 的页面上的任何链接都可以正常工作。

我正在使用最新的 angular 4 和最新的 angular-cli。它在从角度 2 更新到角度 4 之前工作。

以前版本的库:

当前版本的库:

应用程序路由.module.ts

仪表板-routing.module.ts

编辑:

tsconfig.json

0 投票
4 回答
3950 浏览

angular - Angular4 路由:绕过路由守卫强制导航

当我的用户在屏幕上有脏更改时,我有一个路由守卫来提示他们在他们试图导航离开时保存或丢弃。

但是,如果我因为不活动而将它们注销,我想强制导航并绕过路由守卫(通过丢弃它们的更改),以确保它们的屏幕是空白的。

如何绕过路线守卫?

0 投票
1 回答
1382 浏览

angular - Angular 4路由 - 是否可以有两个路由器组件

所以,我正在使用 Angular 4 开发应用程序,但我遇到了问题。我想使用 Angular 4 路由在一页中包含两个组件,但它似乎并不像我想要的那样可行。我有一个组件标题,它只是一个导航栏,我还有另一个组件home,它已经有一个导航栏,所以我不想在 home 中包含标题但是例如使用其他一些组件登录。所以我尝试查看角度文档,最接近的方法是使用孩子,但我不希望login成为header的孩子。我尝试在我的app.module.ts中放入路由器插座和两个组件文件,但没有成功。

0 投票
0 回答
751 浏览

angular - angular4 路由器插座覆盖

我正在使用 angular4 路由器。我有一个带有导航栏的布局页面,我想在访问 /admin/** 和其他页面时使用不同的导航栏。我设置了全局空路径

并设置管理员空路径

但是访问管理页面最终会出错

无法激活已激活的插座

我想也许管理员空路径会覆盖全局空路径,因为它主要匹配 url。

而且我不想使用像这样的 url 来指定插座

因为如果用户使用http://...(navbar:adminnavbar)访问首页,则会呈现不需要的管理导航栏。

事实上,我只是想要像大多数模板引擎那样覆盖一个出口。

知道我该怎么做吗?

这是plunker请帮助。

0 投票
1 回答
780 浏览

angular - Angular4路由:路径中的动态字符串参数

将整数作为路径参数传递就像

但是我如何做同样的:id事情string呢?这样我就可以导航服务器对象,例如,通过name,而不是id,像/servers/sqlserver

0 投票
2 回答
2162 浏览

angular - Angular 4 隐式流回调和路由器保护

在 Angular 4 中处理隐式流回调的最佳方法是什么?我希望 Guard 等到用户使用令牌重定向回来并在 Guard 返回 true 或 false 之前存储它,在我被重定向回来检查令牌之前,我得到了 Access Denied 路由几秒钟。有没有比我正在做的更好的方法来处理 AuthGuard,所以在身份验证完成之前我没有得到拒绝访问?

如何让路由器守卫等待重定向?

应用组件

授权服务

AuthGuard

0 投票
3 回答
2100 浏览

angular - 如何在angular4中启用深度链接

我正在尝试在我的 angular4 应用程序中实现简单的路由,但是深层链接不起作用。

例如,我有一个 About 组件和一个 Homepage (todos) 组件,我的 app.routing.ts 文件如下:

现在,当我从 routerLink 中单击应用程序时,导航适用于这些组件,但如果我直接在浏览器中键入 URL,我会得到 404..

这打破了我的身份验证源的回调:(

我的 app.module.ts 文件已导入路由器文件,但这仍然不起作用..我如何在此处启用深度链接?

0 投票
2 回答
19116 浏览

angular - Angular 4 路由器和模态对话框

我有使用 Angular 路由器的 Angular 4 SPA 应用程序。我想要使​​用 Bootstrap 4 在新对话框中打开组件的超链接。我已经知道如何从函数中打开模式对话框。

但是如何使用超链接打开它?

我想保留我当前的组件,只在它前面显示模态对话框。

另一个问题 - 是否有可能以编程方式做到这一点?这样我就可以

并且登录模式对话框显示在当前组件上?

有什么建议么?

0 投票
1 回答
846 浏览

javascript - 为什么Angular4路由器在外面渲染元素

我在我的应用程序中使用了 Angular4 路由器。我计划使用<router-outlet>容器渲染子组件。但我观察到的是子组件呈现在<router-outlet>.

预期的:

实际的:

Angular 决定像这样进行这项工作的任何可能原因?使用的路由器配置与https://angular.io/tutorial/toh-pt5
中给出的完全相同

0 投票
3 回答
9908 浏览

angular - 如何在角度 4 中路由

我有一个 angular 4 项目,当我从 运行它时localhost:4200/route-a,它运行良好,当我刷新浏览器时,一切都按预期运行。但是,当我使用 apache 构建ng build并运行它时,导航到localhost/route-a返回一个404. 这是我的路由代码: