问题标签 [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.
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
angular - Angular4 路由:绕过路由守卫强制导航
当我的用户在屏幕上有脏更改时,我有一个路由守卫来提示他们在他们试图导航离开时保存或丢弃。
但是,如果我因为不活动而将它们注销,我想强制导航并绕过路由守卫(通过丢弃它们的更改),以确保它们的屏幕是空白的。
如何绕过路线守卫?
angular - Angular 4路由 - 是否可以有两个路由器组件
所以,我正在使用 Angular 4 开发应用程序,但我遇到了问题。我想使用 Angular 4 路由在一页中包含两个组件,但它似乎并不像我想要的那样可行。我有一个组件标题,它只是一个导航栏,我还有另一个组件home,它已经有一个导航栏,所以我不想在 home 中包含标题,但是例如使用其他一些组件登录。所以我尝试查看角度文档,最接近的方法是使用孩子,但我不希望login成为header的孩子。我尝试在我的app.module.ts中放入路由器插座和两个组件文件,但没有成功。
angular - angular4 路由器插座覆盖
我正在使用 angular4 路由器。我有一个带有导航栏的布局页面,我想在访问 /admin/** 和其他页面时使用不同的导航栏。我设置了全局空路径
并设置管理员空路径
但是访问管理页面最终会出错
无法激活已激活的插座
我想也许管理员空路径会覆盖全局空路径,因为它主要匹配 url。
而且我不想使用像这样的 url 来指定插座
因为如果用户使用http://...(navbar:adminnavbar)访问首页,则会呈现不需要的管理导航栏。
事实上,我只是想要像大多数模板引擎那样覆盖一个出口。
知道我该怎么做吗?
这是plunker请帮助。
angular - Angular4路由:路径中的动态字符串参数
将整数作为路径参数传递就像
但是我如何做同样的:id
事情string
呢?这样我就可以导航服务器对象,例如,通过name
,而不是id
,像/servers/sqlserver
angular - Angular 4 隐式流回调和路由器保护
在 Angular 4 中处理隐式流回调的最佳方法是什么?我希望 Guard 等到用户使用令牌重定向回来并在 Guard 返回 true 或 false 之前存储它,在我被重定向回来检查令牌之前,我得到了 Access Denied 路由几秒钟。有没有比我正在做的更好的方法来处理 AuthGuard,所以在身份验证完成之前我没有得到拒绝访问?
如何让路由器守卫等待重定向?
应用组件
授权服务
AuthGuard
angular - 如何在angular4中启用深度链接
我正在尝试在我的 angular4 应用程序中实现简单的路由,但是深层链接不起作用。
例如,我有一个 About 组件和一个 Homepage (todos) 组件,我的 app.routing.ts 文件如下:
现在,当我从 routerLink 中单击应用程序时,导航适用于这些组件,但如果我直接在浏览器中键入 URL,我会得到 404..
这打破了我的身份验证源的回调:(
我的 app.module.ts 文件已导入路由器文件,但这仍然不起作用..我如何在此处启用深度链接?
angular - Angular 4 路由器和模态对话框
我有使用 Angular 路由器的 Angular 4 SPA 应用程序。我想要使用 Bootstrap 4 在新对话框中打开组件的超链接。我已经知道如何从函数中打开模式对话框。
但是如何使用超链接打开它?
我想保留我当前的组件,只在它前面显示模态对话框。
另一个问题 - 是否有可能以编程方式做到这一点?这样我就可以
并且登录模式对话框显示在当前组件上?
有什么建议么?
javascript - 为什么Angular4路由器在外面渲染元素
我在我的应用程序中使用了 Angular4 路由器。我计划使用<router-outlet>
容器渲染子组件。但我观察到的是子组件呈现在<router-outlet>
.
预期的:
实际的:
Angular 决定像这样进行这项工作的任何可能原因?使用的路由器配置与https://angular.io/tutorial/toh-pt5
中给出的完全相同
angular - 如何在角度 4 中路由
我有一个 angular 4 项目,当我从 运行它时localhost:4200/route-a
,它运行良好,当我刷新浏览器时,一切都按预期运行。但是,当我使用 apache 构建ng build
并运行它时,导航到localhost/route-a
返回一个404
. 这是我的路由代码: