1. Создание API-эндпоинта в Laravel.
public function index() {
$items = Item::all();
return response()->json($items);
}
// api.php
Route::get('/items', 'ItemController@index');
2. Создание компонента Vue.js. В коде используется axios для отправки HTTP-запросов
npm install axios
// ItemSelect.vue
<template>
<select v-model="selectedItem">
<option v-for="item in items" :key="item.id" :value="item.id">
{{ item.name }}
</option>
</select>
</template>
<script>
export default {
data() {
return {
items: [],
selectedItem: null
}
},
mounted() {
this.fetchItems();
},
methods: {
fetchItems() {
axios.get('/api/items')
.then(response => {
this.items = response.data;
})
.catch(error => {
console.error(error);
});
}
}
}
</script>