带有Array的Javascript(VueJS)对象

时间:2017-02-09 22:28:05

标签: javascript arrays object vue.js

   {
  "data": {
    "id": 3,
    "name": "random",
    "email": "randon@yahoo",
    "created_at": "2017-02-06 18:16:06",
    "updated_at": "2017-02-06 18:16:06",
    "roles": [
      {
        "id": 1,
        "name": "ADMIN",
        "access": {
          "role4": true,
          "role3": true,
          "role2": true,
          "role1": true
        },
        "created_at": "-0001-11-30 00:00:00",
        "updated_at": "-0001-11-30 00:00:00"
      }
    ]
  }
}

我正在尝试访问"访问"并接收结果true / false但不起作用

currentUser.roles[0].access['role1'];

错误:无法读取属性' 0'未定义的

console.log(currentUser.roles[0].access['role1']); // returns true

currentUser.roles // gives me all the roles

使用Laravel Transformer将数据传递到前端。

注意:使用VueJs,这是在方法内部:

2 个答案:

答案 0 :(得分:0)

VueComponent上下文中,data属性会传播到其this上下文中。因此:

 this.roles[0].access['role1']

答案 1 :(得分:0)

由于我没有看到整个代码,我可以假设。 首先,您与

匹配数据
this.currentUser = data //data that you retrieve

然后访问它:

this.currentUser.roles[0].access['role1']