【问题标题】:change the character that separates a url (Angular)更改分隔 url 的字符 (Angular)
【发布时间】:2022-01-18 21:35:08
【问题描述】:

我使用 route.queryParams.subscribe 获取 url,并使用 Object.keys(params) 分隔参数,后者在找到“&”时将它们分隔开。我的问题是,我可以修改那个分隔符,例如当我找到字符“$”而不是“&”时将它分隔吗?

短代码:

this.route.queryParams.subscribe(params => {
      this.keys = Object.keys(params);

}
Example this url www.hi.com?v%2BRSC60dbdNliPmWIS8mbw%3D%3D=&uHW0Oj81Fug5ifNoPI4rGSpH5uaejSqrADBFSQhRU4fKQF3oIAXWRqtpv3TNsi3c7GDgva1P%2FozKCMFkd%2FDQEKqM1DBhmnV05psQ1n913EM5NjRNK53sEo60YxgVGky1bV%2BPB2C%2F1cG44b%2FrQPNmns7jWgQmWopQvO%2FCzWCD8o12HNQoINRzi%2FWsg9OUhoNncPl%2BU8OsJWUbKutTpW%2FiLHa4IQRvlSG59iyj6HVC2hwXwZnXVXGfDDTX3bP4Am4HQlO61CsaidcoF6mEVGSpLg%3D%3D=

当你浏览上面的代码时,它看起来像这样,其中“&”是分隔符

0 : v%2BRSC60dbdNliPmWIS8mbw%3D%3D=

&

1: uHW0Oj81Fug5ifNoPI4rGSpH5uaejSqrADBFSQhRU4fKQF3oIAXWRqtpv3TNsi3c7GDgva1P%2FozKCMFkd%2FDQEKqM1DBhmnV05psQ1n913EM5NjRNK53sEo60YxgVGky1bV%2BPB2C%2F1cG44b%2FrQPNmns7jWgQmWopQvO%2FCzWCD8o12HNQoINRzi%2FWsg9OUhoNncPl%2BU8OsJWUbKutTpW%2FiLHa4IQRvlSG59iyj6HVC2hwXwZnXVXGfDDTX3bP4Am4HQlO61CsaidcoF6mEVGSpLg%3D%3D=

所以,我想知道是否有一种方法可以修改分隔符,例如,代替“&”,他们将带有字符“$”的 url 传递给我,并且我以相同的方式将其分隔。

这是 Angular

【问题讨论】:

    标签: javascript angular typescript


    【解决方案1】:

    万一它对你有用,你可以使用这个:

    在进口中

    import { ActivatedRoute } from '@angular/router';
    

    在您的代码中

    const id = Number(this.activatedRoute.snapshot.paramMap.get("id"));
    

    假设您的路线是这条路线: http://localhost:4200/identification/:id

    【讨论】:

      【解决方案2】:

      为什么不使用简单的做:

      string.split("any character you want")
      

      它将返回在"any character you want" 处拆分的字符串的数组列表。 或使用以下方法查找索引:

      string.indexOf("any character you want")
      

      然后相应地拼接字符串。您甚至可以循环字符串并在该位置使用array.forEachsplice 返回索引。

      【讨论】:

      • 是的,我想过,但它会将特殊字符更改为十六进制,例如“=”将它们更改为“3D”
      猜你喜欢
      • 2016-11-21
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      相关资源
      最近更新 更多