javascript - 无法访问数据表中的 JSON 对象(JavaScript)(vue.js)

标签 javascript node.js vue.js sequelize.js

我想显示 userStatuses 。如果 truesendEmail,它应该显示 true
但是,如果我尝试获取此项目,它会显示为空。我可以访问所有其他项目,但不能访问 UserStatuses 项目。

我做错了什么

这是我的 JSON

{
    "id": 1,
    "email": "testing1@gmail.com",
    "password": "123456",
    "name": "Hans",
    "forename": "Dampf",
    "createdAt": "2018-12-03",
    "updatedAt": "2018-12-03",
    "AdminId": 1,
    "UserStatuses": [
        {
            "id": 1,
            "sendEmail": true,
            "sendResult": false,
            "createdAt": "2018-12-03T14:07:05.000Z",
            "updatedAt": "2018-12-03T14:07:05.000Z",
            "UserId": 1
        }
    ]
},
  :headers="headers"
  :items="userData"
  :search="search"
  :subHeaders="subHeaders"
  :pagination.sync="pagination"
  item-key="id"
  class="elevation-1"
>
  <template slot="items"  slot-scope="props" id="ident">
    <tr @click="props.expanded = !props.expanded">
      <td class="text-xs-left">{{ props.item.id }}</td>
      <td class>{{ props.item.name }}</td>
      <td class="text-xs-left">{{ props.item.forename }}</td>
      <td class="text-xs-left">{{ props.item.birthdate }}</td>
      <td class="text-xs-left">{{ props.item.surveyName }}</td>
      <td class="text-xs-left" >{{ props.item.createdAt }}</td>
      <td class="text-xs-left"></td>


      <td class="text-xs-left" > {**{props.item.UserStatuses.sendEmail}}**    
          <v-icon   big class="mr-2" >contact_mail</v-icon>
         <v-icon  big class="mr-2">comment</v-icon>
     </td>


      <td class="justify-center layout px-0">
        <v-icon small class="mr-2" @click="editItem(props.item)">edit</v-icon>
        <v-icon small @click="deleteItem(props.item)">delete</v-icon>
      </td>
    </tr>
  </template>
  <template slot="expand" slot-scope="props">
    <td class="text-xs-left">Email:
      <br>
      {{ props.item.email }}
    </td>
    <td class="text-xs-left">Phone:
      <br>
      {{ props.item.phone }}
    </td>

    <td>
      <v-btn small round color="primary" dark @click="getSurveyResult()">Open Results</v-btn>
    </td>
  </template>

  <template slot="no-data">
    <v-btn color="primary">Reset</v-btn>
  </template>
</v-data-table>

我的服务器生成 Json:
try {
  const userData = await User.findAll({
    include: [ UserStatus ]
  })enter code here
    .map(user => user.toJSON())

  res.send(userData)
} catch (err) {
  console.log(err)
}

我的 JavaScript 是:
this.userData =  (await DataService.index()).data;
  userData = JSON.stringify(userData);

最佳答案

{{props.item.UserStatuses.sendEmail}}
"UserStatuses": [] 是一个数组,但试图将它作为对象访问,这里不确定它是否总是会得到值,因此作为解决方案:
{{ props.item.UserStatuses.length ? props.item.UserStatuses[0].sendEmail : '' }}

关于javascript - 无法访问数据表中的 JSON 对象(JavaScript)(vue.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53610213/

相关文章:

javascript - Vue.js 和异步函数调用

Javascript:发现给定条件为真后,如何在标签内添加 HTML 代码?

javascript - 在 CSS Foundation Framework 的表格中垂直居中按钮?

node.js - collection.find().property 返回未定义

javascript - 如何从选择下拉列表中添加项目 - eager-ui

vue.js - 方法未在挂载钩子(Hook)中定义,Vue JS

javascript - 从对象中的数组中删除特定值

javascript pdf表格生成

javascript - 使用 Nodejs 在 HTML 中的一个表行中包含两个数组

node.js - 将两个 VSTS 存储库部署到一个 Azure Web 应用