Vuejs阵列推

Noo*_*der 1 javascript arrays vue.js vuejs2

我正在以下面的格式从后端接收对象数组.我试图获取这些数据并将其推送到JavaScript数组中,以便我可以根据我的需要在以后使用它们.

[
    {
    id: 1,
    name: "Dr. Darrin Frami III",
    email: "darrin67@example.com",
    address: "42568 Cameron Cove Fritschborough, MA 86432-0749",

    },
]
Run Code Online (Sandbox Code Playgroud)

这是我的vuejs代码:

<script>
    export default {
      data(){
        return {
          fakeUsers: [],
          fakeUser: {id: '', name: '', email: ''},
        } 
      },
      methods:{

      },
        mounted() {
            var route = '/get-users';
            this.$http.get(route).then((response)=>{
              for (var i = 0; i < response.data.length; i++) {
                 this.fakeUser.id = response.data[i].id;
                 this.fakeUser.name = response.data[i].name;
                 this.fakeUser.email = response.data[i].email;
                 this.fakeUsers.push(this.fakeUser);
              }

            });
            console.log(this.fakeUsers);
            console.log(this.fakeUsers[0]);
        }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

vue-dev工具结果:

在此输入图像描述

线的输出 console.log(this.fakeUsers);[__ob__: Observer].它不应该打印出类似的东西[Array[10]]吗?

线的输出console.log(this.fakeUsers[0]);undefined,我无法弄清楚为什么.

Lin*_*org 5

$ http()创建一个异步ajax调用,因此代码输入在then()之后的console命令之后执行.

简单的解决方案:将控制台命令也放入函数中.then().