javascript - 如何在 Angular 2中设置或删除当前路由中的queryParams而不重新加载页面

标签 javascript angular typescript

我当前的路线:

http://localhost:96/#/pages/settings/devices

我想将 queryParams={name:realTime} 设置为当前路线,例如:

http://localhost:96/#/pages/settings/devices?name=realTime

是否可以在不重新加载页面的情况下向当前路由添加或删除 queryParams?

我找到了解决方案。

这不会重新加载当前页面

let navigationExtra: NavigationExtras = {
relativeTo: this.activatedRoute,
skipLocationChange: false,
queryParams: { name: 'realTime' }
}
    this.router.navigate(['./', navigationExtra]);

最佳答案

add or remove queryParams to current route without realoading the page.

只需更改位置哈希,例如

window.location.hash = "/pages/settings/devices?name=realTime"

更多

我提供的代码可以正常工作。但是,如果您希望它对应用程序的状态产生影响,您应该真正检查路由器上的文档,了解如何导航或编写与该哈希更改内联的效果。

关于javascript - 如何在 Angular 2中设置或删除当前路由中的queryParams而不重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45273609/

相关文章:

validation - Angular 2(测试版)服务器端验证消息

typescript - 使用可选属性的联合类型

javascript - 在链接正则表达式中查找单词

angular - 选项卡组件内的 formbuilder 在 Angular 6 中不起作用

javascript - 从内部回调函数调用 React Native 中的 this.setState()

javascript - 使用绑定(bind)将 Angular 组件编译为 HTML

javascript - 类型错误 : map is not a function

javascript - 使用 async/await 和 Promise.all 查找数组中的匹配元素

javascript - Grunt 自定义目标

javascript - 如何使用 Typescript 模块