Хорошо, так что есть несколько вопросов.В основном в app.js
.Чтобы начать при создании экземпляра vue, вы ссылаетесь на неизвестную переменную App
.Я предполагаю, что это ваш корневой компонент, но вы никогда не импортировали его, поэтому Vue не знает об этом.
Во-вторых, вы не импортировали свой компонент в app.js
для qr reader - vue-qrcode-reader.vue
.Таким образом, он не загружается и не может использоваться.
И в-третьих, Vue никогда не отображается.Зачем?Вы не рендерили его ни при создании экземпляра Vue, ни в файле блейда, ссылаясь на какой-либо компонент Vue.
Так как же может выглядеть исправленный код?app.js:
require('./bootstrap');
window.Vue = require('vue');
import Vue from 'vue'
import VueQrcodeReader from 'vue-qrcode-reader'
import VueQrCodeReaderComponent from './components/vue-qrcode-reader.vue'
Vue.use(VueQrcodeReader)
Vue.component('vue-qr-code-reader', VueQrCodeReaderComponent);
const app = new Vue({
el: '#app',
});
Теперь ваш экземпляр Vue знает о существовании вашего компонента для чтения QR-кодов, и мы можем сослаться на него в блейд-файле, чтобы отобразить его следующим образом:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Vue</title>
<link href="{{ mix('css/app.css') }}" rel="stylesheet" type="text/css">
</head>
<body>
<div id="app">
<vue-qr-code-reader></vue-qr-code-reader>
</div>
<script src="{{ mix('js/app.js') }}"></script>
</body>
</html>
Итак, теперь ваш app.js импортирует vue-qrcode-reader.vue
, который является вашим компонентом, привязывает его к тегу html <vue-qr-code-reader>
с помощью метода Vue.component
, а затем мы можем использовать его в нашем блейд-файле.Не забудьте перекомпилировать ваш javascript и надеюсь, что это поможет:)