问题标签 [routerlink]

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 投票
3 回答
7713 浏览

angular - 如何从 routerLink 传递 2 个参数?

我试图通过 routerLink 将 2 个参数传递给我的组件,然后传递给我的服务以获取数据。

Html 看起来像这样:-

在我的组件中,我有以下内容:-

在我的服务中,我有以下代码:-

路由器配置如下:-

但是,当我运行应用程序时,链接显示如下:-

如何格式化 routerLink 并获取要发送到我的服务的参数?

感谢您的帮助和时间!

0 投票
5 回答
13296 浏览

angular - Angular 4+:元素中的 RouterLink无法正常工作

0 投票
0 回答
665 浏览

angular2-routing - 子路由的 Angular 2 RouterLinkActive 类

我有一个导航组件,其中有一个与之关联的子导航​​。数据结构如下:

我想在主导航和子导航之间创建一个链接,以便在导航到页面布局时,仍然设置活动类。我当前的父 HTML 是:

我试图添加多个 routerlinks 选项并提供一系列 routerlink 选项,例如

但这不起作用。

谢谢

0 投票
2 回答
13008 浏览

angular - Angular 4 条件路由/组件

更新:见下文

因此,我有一个应用程序,其中有两个不同的组织,当用户使用该应用程序时,我因此想根据他所属的组织加载不同的组件。

方法 1:在路由文件中做一个简单的条件。

这有效,但仅在本地主机上,当我推送到 heroku 并在生产中运行时,应用程序只会提供错误的组件。我已经尝试将日志输出添加到这个 user-route.ts 文件中,日志在 localhost 上按预期显示,但在生产环境中什么都没有。localStorage 中的“用户”对象在这两种情况下都存在并且是相同的。 注意:这种方法在 Angular 2 上也可以正常工作,在 Angular 4 中,在生产环境中运行时路由文件似乎会发生一些事情,但谁知道呢.. 可能它以某种方式编译,导致 if 条件中断。

方法 2. 使用路线和警卫。为不同的组织添加两个警卫。有效,但路线必须不同。下面的代码不起作用,因为总是检查第一个空路由,但第二个没有。我需要路径为空('')。

由于关于守卫和条件路由的每个主题似乎都是关于是否显示“家”或“登录”,我真的不知道是否有更好的方式来使用守卫。理想情况下是这样的:

方法 3. 在父模板中使用 ngIf。这也有效,但是当进一步向下移动到“DetailsComponent”时,我必须手动隐藏和显示组件

那么,您如何做一些看似微不足道的事情,例如根据条件显示不同的组件?

更新 1:

最接近的,虽然没有工作,但我得到了我想要的行为是使用命名路由器插座。

加载了正确的组件,但仅适用于两条顶部路线。那些有空路径的。对于带有 id 参数的两条路线,我得到

这很奇怪,因为如果我手动输入网址,一切都会正确加载:/调用:

-

-

0 投票
1 回答
9162 浏览

angular - Angular 4中的routerLinkActive仅在参数更改时不添加类

我在角度 4 中遇到 routerLinkActive 问题。我有这个设置。

这是一个单一水果的标签页。例如:fruits/4(常规选项卡)和 fruits/4/settings(设置选项卡)

选项卡导航器 (FruitNav) 的设置如下所示,它适用于大多数情况:

现在是 si 问题:路线目前在 fruits/4。如果我在任何子选项卡中,甚至在主导航类中,并调用另一个fruitId,routerLinkActive 将不起作用。前任:

将导航到fruit/5,但没有一个选项卡将处于活动状态/选中

一个典型的用例可能是用户可以导航到的类似水果的列表。

有人对此有解决方案吗?

0 投票
9 回答
52942 浏览

css - vue-router:如何从路由器链接中删除下划线

这会产生一个带下划线的链接:

我的理解是router-link元素生成一个a标签。

我在 CSS 中尝试过这些东西:



..但不幸的是,这些都不起作用。

0 投票
0 回答
230 浏览

angular - Angular 4几个routerLinks使用相同的组件

我在尝试找到解决方法时遇到了一些麻烦:

一方面,我已经定义了我的路线,如下所示:

因此,基于 URL,TemplateComponent 将获取不同的 html 模板:

另一方面,我的后端服务器生成一些 HTML 输出,如下所示:

所以我面临的问题是,当单击任何生成的链接时,Angular 不会获取模板,也不会初始化组件,这仅在加载 AppModule 时完成一次。

我发现了一些讨论必须实现订阅者的文章,尽管在阅读了 Angular 4 文档并且尝试不同的事情失败之后,我最终迷失了方向。

如果有人能提供一些启示,那就太好了。

0 投票
6 回答
148859 浏览

angular - 如何在 Angular 中使用 router.navigateByUrl 和 router.navigate

https://angular.io/api/router/RouterLink很好地概述了如何创建将用户带到 Angular4 中的不同路线的链接,但是我找不到如何以编程方式做同样的事情,而需要用户点击链接

0 投票
0 回答
1155 浏览

angular - Angular 4:材质 md-cell 中的 routerLink 锚点不起作用

更新: md-table 使用似乎导致此问题的 flex 布局指令包装在某些容器中。我正在更新代码以显示这些包装器。具体来说,外部包装器中的 fxLayoutGap 正在破坏应用程序

我在角度 4 中有这个数据表,它显示了数据库中的记录列表。在特定行单击(实际上是单元格单击)时,应用程序旨在显示该行的详细数据(应用程序中的另一个 url)。我试图通过在 md-cells 中使用 routerLink 锚来实现这一点,如下所示:

但是当我尝试这个时,我在浏览器控制台中收到一个奇怪的错误,似乎与我的代码中的任何内容都无关:

好吧,这显然与锚点有关,但是......不知道我是否遗漏了一些概念或什么,而且那里没有很多例子。

0 投票
2 回答
3300 浏览

angular2-routing - 在角度 4 中切换 routeLink

我正在创建一个 Web 应用程序,该应用程序将在角度 4 中从另一个页面加载侧面菜单。我的带有 routerLink 的菜单按钮在此处定义。

即使菜单打开,导航栏也会可见,我想知道在 Angular 4 中是否有办法在菜单打开时将 routerLink 从“/menu”切换到“/home”。