Мой main.js выглядит так:
import './plugins';
import store from './store';
import FileUpload from './components/FileUpload';
export default {
install(Vue) {
Vue.component('file-upload', FileUpload);
Vue.prototype.fileUploadStore = store;
}
}
Мой компонент FileUpload выглядит так:
<template>
<div class="container">
<form enctype="multipart/form-data">
<h1>Upload files</h1>
<div class="dropbox">
<input type="file" name="file"/>
</div>
</form>
</div>
</template>
<script>
export default {
name: 'file-upload',
created() {
this.newUploadRequest();
},
methods: {
newUploadRequest() {
return this.fileUploadStore.dispatch('fileupload/newUploadRequest');
}
}
}
</script>
Моя история выглядит так:
import FileUpload from '../resources/js/components/FileUpload';
export default {
title: 'Components',
component: FileUpload,
};
export const fileUpload = () => ({
components: { FileUpload },
template: '<file-upload/>'
});
И я получаю эту ошибку:
TypeError: Невозможно прочитать свойство 'dispatch' undefined в VueComponent.newUploadRequest
Почему мой магазин не определен?