Angular 6 router - 替换当前路由的一些参数

2024-01-01

在我的 Angular 6 解决方案中,网址具有以下结构:

/{语言}/{app_section}/{object_id}/{view}?queryparams...

语言选择器组件由应用程序的所有部分共享,并且包含在父路由之一的模板中,以便它出现在所有子路由中。

当用户选择新语言时,该组件应仅替换当前路线的 {language} 段,其他所有内容保持不变,并导航到新路线。看起来应该很简单,但我似乎找不到简单的方法。有人可以帮忙吗?


是的,这是可能的。读取当前路线,替换语言并导航到该 URL。

constructor(private _router: Router ) {
}

languageSelected(newLanguage) {
  const newUrl = this._router.url.replace(this.currentlanguage, newLanguage);
  this.router.navigateByUrl(newUrl);
}

我假设this.currentLanguage包含与 URL 中完全相同的当前语言和newLanguage传递给该方法的形式也与 URL 所需的形式完全相同。诸如此类的技术将触发组件刷新,并且临时状态将丢失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 6 router - 替换当前路由的一些参数 的相关文章

随机推荐

  • 以 PHP 形式输入和验证自定义日期时间的最佳方法

    这是前端可用性和 PHP DATE TIME 验证方面的双重问题 我正在为一位客户开发一个网站 他想添加他完成项目的日期 以便项目可以按该顺序列出 他将是唯一使用管理界面的人 所以我希望它尽可能简单 我将日期作为 DATE TIME 存储在
  • 具有多个条件的数据表选择

    我有一个包含 4 列 A B C 和 D 的数据表 因此 A B 和 C 列的值的特定组合在数据表中是唯一的 客观的 对于给定的 A B 和 C 列值组合 查找 D 列的值 我想循环数据行集应该可以做到 有没有办法使用 Datatable
  • Docker BuildX 映像未显示在 docker image ls 中

    我目前正在尝试使用 BuildKit BuildX 构建多平台映像 x86 64 arm64 armv7 armv6 并且似乎构建成功 但我似乎找不到映像所在的位置 它与我之前的 x86 64 版本相比并没有显示出任何变化 并且当尝试码头工
  • 在 JavaScript 中,我如何使用数组来增加字符串以创建循环?

    我正在尝试制作一个网页 每次刷新时其壁纸都会发生变化 我希望它在每次刷新页面时显示数组中的下一个图像 因此 每次刷新都会遍历列表直至结束 然后重新开始 现在我正在使用一个数组并使用随机索引访问它 但我需要使用每次增加 1 的索引来访问它 一
  • iOS 8.4 CFNetwork SSL 握手失败 (-9850)

    自从我将 xcode 更新到 6 4 并将模拟器更新到 ios 8 4 后 我的 ssl 握手代码失败了 错误是 CFNetwork SSLHandshake 失败 9850 相同的代码在 ios 8 3 模拟器上成功执行 ssl 握手 我
  • 如何返回到控制台中行的开头?

    如何返回到行的开头并覆盖控制台上已输出的内容 以下似乎不起作用 System out print mystuff r 我怀疑您的光标正在移动到该行的前面 您已有的文本不会消失 因为您没有用任何内容覆盖它 您可以输出空格来空白该行 然后添加另
  • 无法读取 Web API 操作过滤器内容

    相关问题 Web API 操作参数间歇性为空 https stackoverflow com questions 18256817 web api action parameter is intermittently null and ht
  • GDB 报告 c++ 对象构造函数中参数的地址错误

    我遇到了 GDB 将字符串作为参数传递给构造函数的奇怪行为 代码工作正常 但是当我在调试器中单步执行时 GDB 似乎认为我的参数位于不同的地址 有谁知道这是怎么回事 这是我可以创建的最简单的程序来演示该问题 jwcacces neptune
  • Spring Boot 集成测试不读取属性文件

    我想创建集成测试 其中 Spring Boot 将使用从 properties 文件读取值 Value注解 但每次我运行测试时 我的断言都会失败 因为 Spring 无法读取该值 org junit ComparisonFailure Ex
  • 如何在 Outlook 签名中嵌入图像?

    是否可以为以下内容创建 HTML 电子邮件签名 2003年展望或上面不引用外部图像 也就是说 使用那些特殊的 cid 引用 但将图像本身嵌入到签名中 而不是嵌入到文件系统或网络中 这是一个 Web 应用程序 它根据用户的各种输入生成 标准
  • 使用 javascript 中的类加载 php 页面

    我在 javascript 中有弹出类 并在我的 html 页面中添加了显示该弹出窗口所需的所有脚本 我正在尝试在单击表单的提交按钮时在弹出窗口中加载 PHP 页面 弹出窗口对于如下按钮工作正常 来自 select php 的文本显示在弹出
  • 通过 Xcode 克隆特定的 git 分支

    我在从 Apple Xcode 克隆特定 git 分支时遇到困难 在 Xcode gt 源代码管理 gt 克隆并插入我的 HTTP 克隆 url 中 我只能克隆主分支 但我没有找到从 Xcode 克隆另一个开发人员分支的解决方案 通过使用终
  • 我可以读取文件并在编译时构造异构对象吗?

    情况 YAML 文件包含按名称排列的异构对象列表 如下所示 object Foo name Joe Bloggs age 26 object Bar location UK 对象不继承任何基类 也不共享彼此之间的任何类型的关系 除了它们看起
  • 将 javascript 和 css 内联放入一个缩小的 html 文件中以提高性能?

    一个典型的网站由一个index html 文件和一堆javascript 和css 文件组成 为了提高网站的性能 可以 缩小 javascript 和 css 文件 以减小文件大小 将 javascript 文件连接成一个文件 与 css
  • 当过滤器存在时使用数组设置范围值

    我想将某个范围的值获取到一个数组中 处理数组数据 然后将该数组中的值设置回它来自的范围 考虑到该范围可能包含一些隐藏行 让我们以两列的工作表为例 A B VALUE FILTER 1 P 2 N 3 N 4 P 5 P 然后应用自动过滤器并
  • 如何正确编写 int、double、float 等的数学扩展方法?

    我想编写一系列扩展方法来简化数学运算 例如 代替 Math Pow 2 5 我希望能够写 2 Power 5 在我看来 这更清楚 问题是 在编写扩展方法时如何处理不同的数字类型 我需要为每种类型编写一个扩展方法吗 public static
  • 如果满足条件,Reactor如何重复某个步骤n次

    请帮我处理反应堆 我需要检查一个条件最多n次并返回最终结果 我发现reactor有reactor extra模块 https projectreactor io docs extra snapshot api reactor retry R
  • 比较两个文本文件并将差异写入文本文件

    我想比较两个文本文件并将差异输出到另一个文本文件中 Location c temp z txt compare object get content c temp hostname old txt get content c temp ho
  • 这句话是什么意思

    unlike SwingUtilities invokeAndWait the event thread is permitted to call SwingUtilities invokeLater 我无法清楚地理解这一点 请帮助我 另一
  • Angular 6 router - 替换当前路由的一些参数

    在我的 Angular 6 解决方案中 网址具有以下结构 语言 app section object id view queryparams 语言选择器组件由应用程序的所有部分共享 并且包含在父路由之一的模板中 以便它出现在所有子路由中 当