javascript 如何修复属性'租户'不存在的类型?

gzjq41n4  于 2023-03-16  发布在  Java
关注(0)|答案(2)|浏览(130)

我有下面的请求,并导出了这个json体。

export const settingsReq = {
  "states": [
    {
      "initial": false,
      "style": "plain",
      "elements": [
        {
          "type": "question",
          "visible": true,
          "detail": {
            "required": false,
            "extra": {
              "spam_filter_on": true
            },
            "style": "textarea",
            "tenant": {
              "TR": "information"
            }
          },
          "key": "P2E1",
          "triggers": null
        },
        {
          "type": "submit",
          "visible": true,
          "tenant": {
            "TR": "test"
          },
          "key": "P2E2",
          "detail": null,
          "triggers": null
        }
      ],
      "key": "P2"
    },
    {
      "initial": false,
      "style": "thank",
      "elements": [
        {
          "type": "label",
          "visible": true,
          "tenant": {
            "TR": "Thanks everyone"
          },
          "key": "P3E1",
          "detail": null,
          "triggers": null
        }
      ],
      "key": "P3"
    }
  ],
}

在另一个文件中我想访问谢谢大家文本。使用下面的方法。
let thanksMessage=settingsReq.states[1].elements[0].tenant.TR
当我使用下面的方法代码工作没有问题。但问题是,租户键是红色下划线的Visual Studio代码。正如我所说,代码工作正常,即使只有租户键是下划线(settingsReq.状态[1].元素[0].租户.TR)。但为什么只有租户键是下划线。我如何关闭租户键的错误。

ws51t4hk

ws51t4hk1#

缺少详细信息属性let thanksMessage=settingsReq.states[1].elements[0].detail.tenant.TR

nlejzf6q

nlejzf6q2#

租户键在Visual Studio代码中以红色下划线显示的原因是,它不是有效的JavaScript标识符,Visual Studio代码将其标记为语法错误。
若要访问TR属性的值,可以使用方括号表示法代替点表示法,如下所示:

let thanksMessage = settingsReq.states[1].elements[0].tenant['TR'];

这将允许您访问TR属性,而不会导致语法错误。
或者,您可以通过在该行末尾添加注解来关闭此特定行的错误突出显示,如下所示:

let thanksMessage = settingsReq.states[1].elements[0].tenant.TR; // eslint-disable-line

这将告诉ESLint忽略此行中的错误。但是,不建议这样做,因为它将抑制此行中的所有错误,而不仅仅是与租户键相关的错误。

相关问题