Как сохранить возвращаемое значение в компоненте prop vue js - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть этот компонент для загрузки медиа

<media-upload
        :ref="'cover_uploader'"
        :collection="'cover'"
        :url="'{{ route('admin.upload.media', $folder) }}'"
        :accepted-file-types="''"
        :max-number-of-files="5"
        :max-file-size-in-mb="100"
        :accepted-file-types="''"
></media-upload>

И этот маршрут :url="'{{ route('admin.upload.media', $folder) }}'" запускается контроллером, и этот контроллер возвращает значение json после выполнения некоторой логики c.

public function uploadMedia(Request $request, $folder="uploads")
{
    if ($request->file('file')) {
        $media = MediaUploaderFacade::fromSource($request->file('file'))
                ->toDirectory($folder)
                ->upload();

        return response()->json($media);
    }
    return response()->json( 'Incorrect file', 422);
}

Я хочу сохранить это $media, исходящее от контроллера, в моем компоненте для выполнения других действий, подобных этому.

<media-upload
        :jsonHandler="jsonData(// I want to get that $media in here as a parameter)"
        :ref="'cover_uploader'"
        :collection="'cover'"
        :url="'{{ route('admin.upload.media', $folder) }}'"
        :accepted-file-types="''"
        :max-number-of-files="5"
        :max-file-size-in-mb="100"
        :accepted-file-types="''"
></media-upload>

1 Ответ

0 голосов
/ 15 апреля 2020

Я бы создал метод, который делает запрос API и сохраняет ответ, что-то вроде:

async uploadMedia(){ const {data} = await makeAPICallToUploadMedia(); this.media= data; }

, затем просто в элементе загрузки медиа: jsonHandler = 'media'

...