【问题标题】:How to display the value returned by avg function (mysql) in angular如何以角度显示avg函数(mysql)返回的值
【发布时间】:2020-01-13 11:16:23
【问题描述】:

执行查询后,我收到以下 Json 格式的数据,在 myDocData 中:


 data: [
    RowDataPacket {
      updatedAt: 2020-01-03T18:30:00.000Z,
      email: 'charles@hotmail.com',
      name: 'charles',
      money_spent: 1,
      'avg(e.money_spent)': 1
    },
 RowDataPacket {
      updatedAt: 2020-01-11T18:30:00.000Z,
      email: 'ank@gmail.com',
      name: 'ank',
      money_spent: 10,
      'avg(e.money_spent)': 6
    }
]

角码:


<table   class="content-table" >
<thead>
 <tr>
 <th>EMAIL</th>
  <th>NAME</th>
  <th>money spent</th>
  <th>UPDATED</th>

  <th>AVERAGE</th>
</tr>

</thead>


  <tbody>
  <tr *ngFor="let item of myDocData">
    <td>{{item.email}}</td>
    <td>{{item.name}}</td>
    <td>{{item.money_spent}}</td> 
    <td>{{item.updatedAt}}</td>  


    <td>{{item.avg(e.money_spent)}}</td>


  </tr>
</tbody>
</table>

问题是我无法显示 avg 函数给出的值 (其他属性显示正确)。

【问题讨论】:

    标签: json angularjs angular


    【解决方案1】:

    换行:

    <td>{{item.avg(e.money_spent)}}</td>
    

    到:

    <td>{{item['avg(e.money_spent)']}}</td>
    

    在 JS 中,您可以使用方括号表示法来获取对象的属性。

    【讨论】:

      【解决方案2】:
      1. 如果您可以控制后端代码,那么您可以将返回 "avg(e.money_spent)" 的查询更改为 "avg(e.money_spent) as avg_money_spent",这样就不会遇到问题,您可以使用 &lt;td&gt;{{item.avg_money_spent}}&lt;/td&gt;

      2. 或者你也可以使用@Viqas 之前的回答

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-17
        • 1970-01-01
        • 2013-09-24
        • 2021-09-22
        相关资源
        最近更新 更多