首页 > 解决方案 > 元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“用户”。它抛出这个错误

问题描述

当我尝试从 json 文件中读取数据并使用 HTML 形成表格时,部分代码执行得很好,但部分代码显示了一些索引错误。下面我分享了所有必要的文件。这是一个角度问题。这是我的 json 文件

{
    "Users": [
      {
        "id": 1,
        "firstName": "Nitin",
        "lastName": "Rana",
        "email": "nitin.rana@gmail.com",
        "mobile": "2345678901",
        "salary": "25000"
      },
      {
        "id": 2,
        "firstName": "Rajat",
        "lastName": "Singh",
        "email": "rajat.singh1@gmail.com",
        "mobile": "5637189302",
        "salary": "30000"
      },
      {
        "id": 3,
        "firstName": "Rahul",
        "lastName": "Singh",
        "email": "rahul.singh1@gmail.com",
        "mobile": "5557189302",
        "salary": "40000"
      },
      {
        "id": 4,
        "firstName": "Akhil",
        "lastName": "Verma",
        "email": "akhil.verma2@gmail.com",
        "mobile": "5690889302",
        "salary": "20000"
      },
      {
        "id": 5,
        "firstName": "Mohan",
        "lastName": "Ram",
        "email": "mohan.ram1@gmail.com",
        "mobile": "7637189302",
        "salary": "60000"
      },
      {
        "id": 6,
        "firstName": "Sohan",
        "lastName": "Rana",
        "email": "sohan.rana@gmail.com",
        "mobile": "3425167890",
        "salary": "25000"
      },
      {
        "id": 7,
        "firstName": "Rajjev",
        "lastName": "Singh",
        "email": "rajeev.singh1@gmail.com",
        "mobile": "5637189302",
        "salary": "30000"
      },
      {
        "id": 8,
        "firstName": "Mukul",
        "lastName": "Singh",
        "email": "mukul.singh1@gmail.com",
        "mobile": "5557189302",
        "salary": "40000"
      },
      {
        "id": 9,
        "firstName": "Vivek",
        "lastName": "Verma",
        "email": "vivek.verma2@gmail.com",
        "mobile": "5690889302",
        "salary": "20000"
      },
      {
        "id": 10,
        "firstName": "Shubham",
        "lastName": "Singh",
        "email": "shubham.singh@gmail.com",
        "mobile": "7637189502",
        "salary": "60000"
      }
    ]
  }

这是我的 HTML 文件

<h1>Table using JSON Server API</h1>
<hr>


<table id="users">

  <tr>
    <th *ngFor="let col of columns">
      {{col}}
    </th>
  </tr>
  <tr *ngFor="let user of users">
    <td *ngFor="let col of index">
      {{user[col]}}

    </td>
  </tr>

</table>

在我的输出中

    <th *ngFor="let col of columns">
      {{col}}
    </th>

这部分代码执行得很好,但是下面的部分抛出了一些错误,说 No index signature with a parameter of type 'string' was found on type 'Users'.

  <tr *ngFor="let user of users">
    <td *ngFor="let col of index">
      {{user[col]}}

    </td>

希望有人能帮忙!这只是一个我自己无法弄清楚的索引错误

标签: jsonangulartypescript

解决方案


如果您尝试使用索引填充表,您可能想尝试使用 *ngFor 提供的索引。

*ngFor="let user of users; let i = index"

{{user[i]}}


推荐阅读