Использование Laravel определенных маршрутов в компоненте VUE - PullRequest
0 голосов
/ 10 июля 2020

Я использую Laravel 6 и VUE. Я конвертирую файл лезвия в компонент VUE. Файл лезвия содержит таблицу со строками данных, извлеченных из mysql БД. Я создал перетаскиваемый компонент, который отображает пользователей и позволяет мне перетаскивать строки, чтобы переставлять их, а таблица использует слоты VUE для передачи html моему компоненту. В моем индексном представлении на таблице есть кнопка. При нажатии кнопки происходит переход к конечной точке / маршруту /create, который я определил в Laravel с помощью файла routes. php. Я не хочу использовать маршрутизацию vue, я предпочитаю сохранять маршруты laravel такими, какие они есть. Проблема, с которой я столкнулся, заключается в том, что я не знаю, как это реализовать, поскольку я новичок в VUE. Может кто-нибудь пролить свет на это? Я пробовал использовать ax ios, но, может быть, я использую неправильно? Есть ли лучший способ использовать компонент vue, но продолжать использовать мои маршруты, которые я определил в routes. php? Спасибо.

main.blade. php

 <!-- Draggable Component -->
            <div id="app">
                <draggable table=@yield('content.main')></draggable>
            </div>

маршруты. php (частично, чтобы показать, какую конечную точку я хочу поразить)

  $route->any('users/create', 'UsersController@create');

Перетаскиваемый. vue

<template>
    <section v-bind:table="table">
        <button class="btn btn-default" @click="create()">
            <i class="fa fa-plus"></i>
        </button>
        <slot></slot>
    </section>
</template>

<script>
   export default {
       props: ['table'],
       data() {
           return {
               draggable: '',
           };
       },
       created() {
           this.draggable = this.table;
       },
       methods: {
           create() {
               axios.get(this.endpoint, {
                   UserName: this.UserName
               }).then(res => {
                   this.creating = true;
                   this.UserName = res.data.UserName
               }).catch(err => {
                   console.log("Error: " + err);
               })
           },
       },
       computed: {
           endpoint() {
               return `users/create`;
           },
       }
   };
</script>

Ошибка, которую я получаю при нажатии кнопки:

 Error: Request failed with status code 404

1 Ответ

1 голос
/ 11 июля 2020

в вашем endpoint() вы можете добавить window.location.protocol + "//" + window.location.host, чтобы метод был

endpoint() {
    return window.location.protocol + "//" + window.location.host + 'users/create';
},
...