如何从区分大小写的查询参数变量中获取值?

2024-04-14

我有一个带有查询字符串的 URLid。但是,变量id可以作为“id”或“id”在网址中。

根据我的理解,这两个将被区别对待。为了处理以下 URL,我编写了如所附屏幕截图中的代码:

http://xxx/abc?id=10 http://xxx/abc?id=10

http://xxx/abc?id=10 http://xxx/abc?Id=10

在此输入图像描述 https://i.stack.imgur.com/LOQgd.jpg

除此之外,是否有任何简单的方法来处理区分大小写的变量并在 angular4 中正确获取值?


正如@vogomatix 所说,您不应该使用不同名称的相同参数。但是,无论出于何种原因,您都可以像这样简化代码:

private findQueryParams() {
    this._route.queryParams.subscribe((params: Params) => {
        const idValue = params['id'] || params['Id'] || '0';
        let id = Number(idValue);
    });
}

这样你就可以使用的值id,如果不存在,则Id,如果也不存在,那么您将使用'0'

如果可以有更多组合,正如您所说,那么您最好的选择是将参数克隆为小写版本:

function toLower(params: Params): Params {
    const lowerParams: Params = {};
    for (const key in params) {
        lowerParams[key.toLowerCase()] = params[key];
    }

    return lowerParams;
}

有了这个:

private findQueryParams() {
    this._route.queryParams.subscribe((params: Params) => {
        const _params = toLower(params);
        const idValue = params['id'] || '0';
        let id = Number(params);
    });
}

当然,每次从以下位置获取参数时都必须执行此操作Router,但这是不可避免的,因为基本缺陷在于 Url 系统。

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

如何从区分大小写的查询参数变量中获取值? 的相关文章

随机推荐

  • 如果可能的话,如何在 C 中定义 2 位数字?

    对于我的大学过程 我正在模拟一个称为随机顺序吸附的过程 我必须做的一件事是随机地将正方形 不能重叠 放置到格子上 直到没有更多空间为止 重复该过程几次以找到平均 干扰 覆盖率 基本上我正在对一个大的整数数组执行操作 其中存在 3 个可能的值
  • Swift 相当于 @encode

    是否有与 Objective C 相当的 Swift encode 例如 encode void gt v 搜索一无所获 不 不存在 因为在底层 Swift 类不使用 Objective C 内省来完成它们的工作 不需要计算这个 像 Obj
  • 使用 Response.Redirect() 时出现线程中止异常

    我在更新面板下的页面中编写了以下代码 protected void myGrid RowCommand object sender GridViewCommandEventArgs e try if e CommandName EditNa
  • 从 SQL 中的存储过程获取 RETURN 值

    我有一个存储过程 它以 RETURN 值 0 或 1 结尾 我想在另一个存储过程的 IF 语句中使用该值 如何获取前一个存储过程的返回值并将其保存在后一个存储过程的变量中 我找不到任何相关的东西 所有问题都与在 C 中获取 RETURN 值
  • NLTK 感知器标记器的标记集是什么?

    NLTK 感知器标记器的标记集是什么 预训练模型使用的语料是什么 我尝试从NLTK网站上找到官方信息 但他们没有那个 From https github com nltk nltk pull 1143 https github com nl
  • 修改根组件之外的 DOM 元素

    我的 Angular 2 应用程序的结构如下
  • 如果没有可用的指定分区路径,SPARK SQL 会失败

    我在 EMR 中使用 Hive Metastore 我可以通过 HiveSQL 手动查询表 但是当我在 Spark Job 中使用同一个表时 它说输入路径不存在 s3 导致 org apache hadoop mapred InvalidI
  • 在rails3中创建新记录之前如何检查记录是否存在?

    这就是我想要实现的目标 我有一个标签系统 创建帖子时会创建标签 帖子 has many tags through gt tag joins 当使用标签创建帖子时 会自动创建标签连接 我想检查该标签是否已经存在 如果是这样 我想使用 tag
  • 在 textView 中,当我单击“完成”按钮时,键盘不会退出

    单击 完成 按钮后 我在退出键盘时遇到问题 我正在使用文本视图 BOOL textViewShouldReturn UITextView textView if textView addressView if isNotif self se
  • 根据步行速度在 2 个 GPS 位置之间进行插值

    Problem 给定两个位置 L1 latitude1 longitude1 timestamp1 L2 latitude2 longitude2 timestamp2 以及可配置但恒定的移动速度 v 1 39 米每秒 例如 How can
  • Android,traceview 的独立版本已弃用

    我想看到我的踪迹 1 在代码中 我添加了以下代码行 Start trace recording android os Debug startMethodTracing hc traceview and Stop trace recordin
  • 如何将 inproc 传输与 pyzmq 一起使用?

    我已经设置了两个小脚本来模仿 pyzmq 的发布和订阅过程 但是 我无法使用inproc运输 我能够使用tcp 127 0 0 1 8080好吧 只是不是 inproc pub server py import zmq import ran
  • 如何将fasttext模型保存为vec格式?

    我使用以下方法训练了我的无监督模型fasttext train unsupervised python 中的函数 我想将其保存为 vec 文件 因为我将使用该文件pretrainedVectors参数输入fasttext train sup
  • Android MVVM 设计模式

    我在最近发布的 Android 最佳实践 一书中读到 用于 Android 编程的一个很好的设计模式是 MVVM 我自己在最新的项目中尝试过 它似乎确实有利于将代码分成更易于管理的部分 View 仅处理视图项的创建和 ViewModel 的
  • 使用 JSON asp.net core api 上传多部分/表单数据图像

    如何在单个 POST 中同时 POST 图像和 JSON 使用多部分 我有一个表单 其中包含一些数据 我将其放入 JSON 中 用户可以添加 0 到 6 张照片并将其提交到 API 有人可以解释我该怎么做吗 编辑 感谢您的帮助 这是我的代码
  • 如何使用Flutter Desktop打开windows资源管理器?

    I want to open the windows explorer application not open a dialog for example the Edge s display in a folder 你可以通过file 目
  • 为什么 Symfony 表单不使用约束注释验证我的 DTO?

    所以我有一个 DTO 如下所示 namespace App DTO use Symfony Component Validator Constraints as Assert class Task Assert Type string As
  • 内核编程中如何执行shell命令?

    我想用system 的函数stdlib h在我的c代码中 我实际上正在从事内核编程 每当我想使用system 其中 它给出了错误stdlib h说没有找到这样的文件 这很简单 include
  • Xcode 新手如何创建类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从区分大小写的查询参数变量中获取值?

    我有一个带有查询字符串的 URLid 但是 变量id可以作为 id 或 id 在网址中 根据我的理解 这两个将被区别对待 为了处理以下 URL 我编写了如所附屏幕截图中的代码 http xxx abc id 10 http xxx abc