问题标签 [angular2-routing]

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 投票
5 回答
6050 浏览

angular - Angular 2:将依赖项注入@CanActivate?

在 Angular 2 中,您可以@CanActivate为组件指定一个注释,您可以在其中确定该组件是否应该被激活。它不是接口的原因是因为在组件实例化之前调用了回调。问题是,我想不出一种方法将依赖项注入到该回调中。而且我需要我的服务来告诉我我是否登录(以及以谁登录)来确定是否允许路由到特定组件。

如何将依赖项注入 @CanActivate 回调?我正在使用 ES5,这不起作用:

编辑:或者,我可以routerOnActivate在组件上使用生命周期事件,this.router.navigate如果用户不应该在那里,我可以使用它来将用户送走。缺点是它会破坏浏览器历史记录:如果每次您到达特定 URL 时我都会异步重定向您,您就不能非常有用地使用浏览器中的后退按钮。有没有办法router.navigate使用history.replaceState而不是history.pushState这种情况?

0 投票
1 回答
3569 浏览

angular - Angular 2 url 路径不起作用

我正在使用@RouteConfig 进行导航,路线配置就像

当我使用路由链接时加载 CarouselComponent,例如

并且 URL 路由到http://localhost:60708/calendar

但是,当我想直接通过在地址栏中输入 URL 来访问 URL http://localhost:60708/calendar 或者通过单击路由链接访问页面后单击 F5(刷新页面),页面没有显示更多。

为什么会这样?如何使用 URL 路径加载组件?

0 投票
1 回答
1870 浏览

angular - 在 Angular2 中实例化 LocationStrategy 时出错

我正在angular-2中开发一个应用程序中开发一个应用程序,其中我有索引页面,它将加载我的应用程序组件。应用组件内容路由加载主页或登录。

这是我的 index.html

这是我的bootstrap.ts

这是我的app.ts

它加载了我的其他组件,但是当我运行我的应用程序时出现错误。

在此处输入图像描述

请纠正我在这里遗漏的内容。

0 投票
1 回答
1739 浏览

angular - angular2中的全局数据

我正在研究 Angular 2,其中我有应用程序组件,它加载其他组件路由器插座并且还具有登录组件的链接。但我想要保存一些全局变量的方法,这些变量可以在我的应用程序组件和登录组件上访问,以便我可以隐藏和显示登录链接

这是我的应用程序组件:

这是我的登录组件

登录后,我必须设置一些变量,我可以在应用程序组件上访问以隐藏和显示登录链接,也可以在需要的其他组件上访问。

0 投票
1 回答
1464 浏览

javascript - angular2 新路由器不会在页面加载时同时加载 2 个组件(头部和内容)

我的 Angular2 beta.0 测试应用程序有一个在页面加载时出现的 HeaderFooter 应用程序。在页眉和页脚之间是内容部分。第一个问题:我希望内容部分在与 HeaderFooter 组件相同的页面加载事件中与 Home 组件一起加载。经过大量研究和折腾,它仍然没有显示加载时的两个组件。第二个问题:我可以通过单击标题中的链接来显示测试主页内容,并将其路由到另一个测试页面。它不能可靠地向后路由,浏览器的后退和前进按钮也不能可靠地路由,即 2 步可以,3 步不行。以下是相关代码:

索引.html

boot.ts - 这应该会在没有单独组件引导的情况下引导所有组件。当我在每个组件中放置引导程序时,我会收到有关选择器的控制台错误,但它们对我没有任何意义。

应用程序.ts

headerFooter.html

主页.ts

postApartment4Rent.ts - 与 home.ts 相同,除了 @Component 中的选择器、h1 文本和 class 语句

0 投票
2 回答
3212 浏览

angular - 具有相同 URL 的 Angular 2 路由?

像 Angular UI Router 一样,Angular2 中是否可以有多个具有相同 URL 的路由?例如以下两条路线:

目前,控制台中出现路由冲突的错误。

0 投票
1 回答
665 浏览

angular - Angular 2路由器在打开组件之前解析服务器请求

我有一个BookDetailComponent为 url 映射的组件/books/:id。angular 2 路由器中是否有任何方法可以确保仅在从服务器检索到Bookwith given后才打开该组件?id

我正在寻找类似的功能,如Angular 2 路由器中的ui-router 解析

0 投票
3 回答
2240 浏览

typescript - Angular 2 路由器 - 注销并且用户尝试导航到登录页面时,我需要 app.ts 重定向

Angular 2 路由器 - 注销并且用户尝试导航到登录页面时,我需要 app.ts 重定向。

我正在使用angular 2 的打字稿。

出于某种原因,重定向适用于某些页面。但是当我在构造函数中有代码时,它会命中它。如果未登录,我想立即将用户重定向到主页。

我正在检查他们是否已登录,如果他们未在 app.ts 文件中登录,我将执行此代码:

这适用于基本页面,但是当我尝试访问我的搜索页面时,例如我得到控制台错误,因为它访问组件构造函数。

这是我在 app.ts 文件中的路由配置:

0 投票
5 回答
21419 浏览

typescript - Angular2 路由器 - 任何人都知道如何在 app.ts 中使用 canActivate 以便我可以在未登录的情况下重定向到主页

Angular2 路由器 - 任何人都知道如何在 app.ts 中使用 canActivate 以便我可以在未登录的情况下重定向到主页

我正在使用打字稿和角度2。

在我的 app.ts 文件中我的构造函数下的当前尝试:

它目前没有受到打击。知道为什么吗?

0 投票
0 回答
2108 浏览

javascript - angular2 javascript中的路由

我只能找到使用打字稿的例子。我试过用 ng.core.Component 嵌套 ng.Router.RouteConfig。

它不起作用,我不知道如何以及在哪里导入与路由相关的指令。

有谁知道如何使用javascript来做到这一点?