如何从Laravel Controller向vue发送数据?我已经设置好我认为它可能会起作用的方式,但是没有数据正在发送。我做错了什么? 控制器(在单独的API文件夹中设置):
public function index()
{
return User::all();
}
从api.php路由:
Route::apiResources([
'user' => 'API\UsersController'
]);
组件代码:
<template>
<div>
<v-toolbar flat color="white">
<v-toolbar-title>Users</v-toolbar-title>
</v-toolbar>
<ol v-for="user in users">
<li>Name: {{ user.name }}</li>
</ol>
<v-data-table
:headers="headers"
:items="users"
:items-per-page="5"
class="elevation-1"
flat
>
</v-data-table>
</div>
</template>
<script>
import {AxiosInstance as axios} from "axios";
export default {
data () {
return {
headers: [
{
text: 'Username',
align: 'left',
value: 'username',
},
{ text: 'Name', value: 'name' },
{ text: 'Surname', value: 'surname' },
{ text: 'Email', value: 'email' },
],
users: [],
}
},
methods: {
loadUsers(){
axios.get('./api/user').then(response => this.users = response.data);
}
},
mounted() {
this.loadUsers();
}
}
</script>
我只是在此处放置了一个简单的列表来测试该数组,但结果只是空白。
答案 0 :(得分:1)
替换此
axios.get('./api/user').then(response => this.users = response.data);
与此
axios.get("api/user").then(({data}) => (this.users = data));