1👍
You can use Object.keys
to get all keys as array and use v-for
to get values
var app = new Vue({
el: '#app',
data:{
test:{
"status": "success",
"status_code": 200,
"message": "OK",
"data": {
"id": 2,
"name": "ahsan",
"email": "ahsan@gmail.com",
"email_verified_at": "2019-12-24 08:40:35",
"password": "$2y$10$cr3bRfqZ3Fp3uxnqgInNCugwAdSNury3Nsn6GMl9T36kxT.36GmzS",
"remember_token": null,
"created_at": "2019-12-24 08:40:35",
"updated_at": "2019-12-24 08:40:35",
"member_pin": "xxxxxxx",
"google2fa_secret": null,
"google_2fa enum \"\"Y\"\",\"\"N\"\",": "N",
"reff_id": ""
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
<div id="app">
<div v-for="key in Object.keys(test.data)"><strong>{{key}}</strong> : {{test.data[key]}}</div>
</div>
Another way to loop in vuejs v-for="key,index in test.data"
var app = new Vue({
el: '#app',
data:{
test:{
"status": "success",
"status_code": 200,
"message": "OK",
"data": {
"id": 2,
"name": "ahsan",
"email": "ahsan@gmail.com",
"email_verified_at": "2019-12-24 08:40:35",
"password": "$2y$10$cr3bRfqZ3Fp3uxnqgInNCugwAdSNury3Nsn6GMl9T36kxT.36GmzS",
"remember_token": null,
"created_at": "2019-12-24 08:40:35",
"updated_at": "2019-12-24 08:40:35",
"member_pin": "xxxxxxx",
"google2fa_secret": null,
"google_2fa enum \"\"Y\"\",\"\"N\"\",": "N",
"reff_id": ""
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
<div id="app">
<div v-for="key,index in test.data"><strong>{{key}}</strong> : {{test.data[index]}}</div>
</div>
- [Vuejs]-Set property and retrieve HTML as string from Vue component
- [Vuejs]-Show loading during rendering multiple components in Vue
0👍
In your case you just need to store the response data in the data property like user
and then simply write following code in your HTML template:
{{ user.email }}
You might not need v-for
unless you have multiple users.
Consider the following component as an example (for multiple users).
<template>
<div>
<h1>Users</h1>
<table class="table">
<thead>
<tr>
<th scope="col">Email</th>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
</tr>
</thead>
<tbody>
<tr v-for="user in users" :key="user.email">
<td> {{ user.email }} </td>
<td>{{ user.first_name }}</td>
<td>{{ user.last_name }}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
data() {
return {
users:null,
}
},
created() {
this.getUsers(); // Will make Laravel API call
},
methods: {
getUsers(){
this.axios.get("https://reqres.in/api/users").then((response) => {
this.users = response.data.data;
});
}
}
}
</script>
- [Vuejs]-Ag-grid in vue display custom component when loading the rows
- [Vuejs]-Run Webpack + Vue in a Local VirtualServer
Source:stackexchange.com