【问题标题】:Convert dot notation to bracket notation in angular将点表示法转换为角括号表示法
【发布时间】:2020-03-10 08:04:54
【问题描述】:

我正在尝试在primeng 表中使用动态列。但是,为了这样做,列字段需要括号表示法。我有一列具有嵌套的 JSON 结构。我不知道如何用括号表示法写出来。请帮忙。提前致谢:

我的 JSON:

[
    {
        "studentName": "test",
        "email": null,
        "phnNumber": 1,
        "subjects": [
            {
                "subjectName": "Maths",
                "subjectTeacher": "Elon"
            },
            {
                "subjectName": "English",
                "subjectTeacher": "Shakespeare"
            }
        ]
    },
    {
        "studentName": "test2",
        "email": null,
        "phnNumber": 1,
        "subjects": [
            {
                "subjectName": "CS",
                "subjectTeacher": "Elon"
            },
            {
                "subjectName": "English",
                "subjectTeacher": "Shakespeare"
            }
        ]
    }
]

我的打字员:

this.cols = [
      { field: 'studentName', header: 'Student Name' },
      { field: 'email', header: 'Email' },
      { field: 'phnNumber', header: 'Contact No' },
      { field: '["subjects"][0]["subjectName"]', header: 'Subject Name' }

    ];

我的模板:

     <ng-template pTemplate="body" let-student let-columns="columns">

                <td *ngFor="let col of columns">
                    {{student[col.field]}}
                </td>
</ng-template>

在点表示法中,如果我必须访问学生 1 的第一个主题,我将执行 students[0].subjects[0].subjectname 其中一个学生是学生的数组。如何以括号表示法复制它?

【问题讨论】:

  • students[0]["subjects"][0]["subjectname"]
  • 我将您建议的内容添加到我的列数组中。我无法在表格中获取主题值。请查看我更新的问题

标签: json angular typescript


【解决方案1】:

这样试试,

students[i]['subjects'][j]['subjectName']

对于第一个学生的第一个科目,

students[0]['subjects'][0]['subjectName']

演示:https://stackblitz.com/edit/angular-nt1yt5

【讨论】:

  • 您好,我已将您建议的内容添加到列数组中。我无法在表格中获取主题值。请查看我更新后的问题
  • @rock11 你能创建一个 stackblitz 演示吗?我可以问你为什么要括号而不是点?
  • 我只想在我的primeng表中动态加载该列。由于某种原因,它不适用于点表示法。
  • @rock11 根据您的规格,您的演示运行良好。现在有什么问题?
  • 问题是我无法根据 1 级列中的数据过滤表格
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-02
相关资源
最近更新 更多