Laravel 8 vue get запрос ничего не возвращает

#laravel #vue.js #axios

#laravel #vue.js #axios

Вопрос:

Я использую Laravel 8 с Vue.js и аксиос. Я пытаюсь отобразить кучу пунктов меню в списке. Запрос работает в postman, и если я вручную введу json в vue tools, я получу свой список. Но, похоже, я не могу получить данные для обработки с помощью моего метода vue. Я надеюсь, что кто-то может увидеть, где я ошибся. Спасибо.

Мой контроллер,

 public function index(Request $request, Item $item)
    {
        $items = Item::all();

        return response()->json($items, 200);
    }
 

Маршрут

 Route::get('/item', [MenuItemController::class, 'index']);
 

и сценарий vue

 <script>
    export default {
        data () {
            return {
                items: []
            }
        },

        methods: {
            getMenuItem () {
                var that = this;
                axios.get('http://buffet.test:8000/item').then((response) => {
                    console.log(response);
                    that.items = response.data;
                })
                .catch(error => {
                    this.errored = true
                });
            }
        },

        mounted() {
            this.getMenuItem
        }
    }
</script>
 

Комментарии:

1. вызов такого метода this.getMenuItem не будет работать, сделайте это this.getMenuItem()

2. Именно так и было, в случае отсутствия скобок. Спасибо за вторую пару глаз, если вы хотите перенести это в ответ, я могу записать это как таковое для вас.