问题标签 [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 回答
534 浏览

javascript - 如何修复我的 Angular 4 路由

我是 Angular 4 世界的新手,当我想路由到 /moviegroup/:id 时遇到了这个错误。出于某种原因,我无法让它工作

应用程序.routes.ts

我可以导航到http://localhost/wizardhttp://localhost/moviegroup但不能导航到 http ://localhost/moviegroup/ecf84479-c23c-1702-8440-b252591364ec。我收到以下错误:

这是我的文件结构: 在此处输入图像描述

知道我做错了什么吗?如果需要更多信息,请告诉我!

谢谢, 雷吉

0 投票
0 回答
322 浏览

angular - 角度 4 路由参数错误

我的 Angular 4 应用程序实现了路由,我的路径之一是detail/:code. 但是我的代码不是一个简单的数字,而是像这样的部分字符串路径/user/4 当我导航将此代码附加到我的主要端点时效果很好,但是当我进入这个详细信息页面时,如果我查看我的 url 栏,我发现了这个路径

http://localhost:4200/dashboard/user-detail/%2Fusers%2F2

它对我的“/”使用转义 %2,我无法将我的代码更改为数字,是否可以找出正确的 url?

0 投票
1 回答
1301 浏览

angular - 没有路由器插座的角4路由器

我目前正在基于 Angular 路由器在 Angular 4 中实现自定义状态管理,基本上没有任何路由器插座根据路由事件自行附加和分离组件。

它工作正常,直到我尝试从具有参数的路线导航到具有不同参数的同一路线,然后它崩溃。

这个 plunkr(看控制台)解释了我的情况。从“危机中心”导航到“英雄”很好,从“英雄”导航到“英雄 11 ”很好,从“英雄 11”导航英雄12”会抛出错误

TypeError: Cannot read property 'component' of null

我知道路由器应该与插座一起使用,但我认为没有插座很奇怪它部分工作,所以我什至不确定这是否可以被认为是一个错误或期望的行为。

我想知道是否有一些配置选项可以允许这种特殊情况,或者我应该只使用另一个路由库并避免使用角度路由器?

0 投票
2 回答
3348 浏览

angular - 路径中的 Angular 4 路由器 %2F 符号

angular4路由器有一些问题。

我已经创建了一个菜单项列表,并且我从后端获取了用于创建路由器链接的对象,但是如果menuItem.link等于 mypath/example 如果我单击此项目,它将被 angular 替换为 mypath%2Fexample。

所以路由不起作用,因为它无法匹配任何路由,因为我已经为(mypath/example)定义了它

我尝试将 /* 添加到路由器链接,但仍然无法正常工作。感谢您的回答。

0 投票
1 回答
1500 浏览

angular - Angular4 - 带有可选参数和查询参数的路由

在 angular4 路由中,我正在尝试使用可选参数导航到特定路径,但它没有导航到正确的路径,请参阅下面的代码

我配置为的路线

我正在路由登录如下 this.router.navigate(["login",{optionalParam:"param"}]),但这是导航到注册,我可以在路由器调试中观察到 url 从“login; optionalParam = param”重定向到“register”。可能是什么问题,我也面临与 queryParameters 相同的问题。

0 投票
0 回答
913 浏览

angular - 访问 Angular4 路由器数据属性

我正在尝试了解 Angular4 世界。

我正在尝试做的事情。我正在使用 Material2 和 Flex,如果在路线更改时侧边栏应该打开或关闭,我想通过每条路线。我认为通过这个data选项是一个可行的选择。

AppComponent保持全局的逻辑。

我已经定义了我的路线:

现在我正在尝试访问data对象中的属性。

我总是得到undefined。有人可以提示我正确的方向吗?

0 投票
2 回答
9424 浏览

angular - Angular 4 路由器:防止直接浏览器导航

如何说服 Angular 4 路由器在我的应用程序中禁用直接浏览器导航?

我已经查看了路由器挂钩CanActivateCanDeactivate实现了它们,但CanDeactivate在使用直接浏览器导航时根本不会触发。

我可以CanActivate用来阻止 url,但只能在应用程序重新启动后使用,这需要时间和浏览器窗口中的意外更改。

我希望能够在应用程序重新启动之前捕获直接浏览器导航。

如果这有帮助:我想完全禁止直接浏览器导航,所以我不需要允许某些 URL 并禁用其他 URL 的解决方案。

这是我的路由器定义:

0 投票
1 回答
621 浏览

angular - Angular4路由子重定向不起作用

我像这样构建我的 angular4 路由:

如您所见,我做了一个配置文件,该配置文件加载在 FramedefaultComponent 内部。在配置文件中,我想要一些子配置文件视图。默认视图需要加载“主页”视图。

问题是我在谷歌找不到任何解释我尝试做的事情的东西。我希望当我使用 url 打开配置文件时:/user/24(在这种情况下,24 是用户 ID)然后我希望他直接打开 user/:userId/home。但无论我尝试什么,都会遇到编译器错误。

我做错了什么?

这是 site-userprofile.component.ts

0 投票
1 回答
986 浏览

javascript - 子路由在 Angular 4 中不起作用

我在 Angular 4 中的子路由有问题。在父路由工作时它不起作用。当我将鼠标悬停在“创建新帐户”上时,它仍然在帐户上。它显示 localhost:4200/account。它必须是 localhost:4200/account/create-account。Parent 路由在 app.component.ts 上,而子路由在 account.component.html 上

0 投票
1 回答
289 浏览

angular - 从 Angular 中的另一个组件获取路由器参数

我正在使用 Angular4。我有一些 BarComponent 显示在 app.component 模板中(对于几乎所有页面,它就像菜单栏)。我想获取“属于”另一个组件的路由器参数,而不是 BarComponent 的子项/子项。
例如,我有路线:

我可以使用 BarComponent 中的 Angular 方法获得这个 :id 参数吗?
结构如下: