gpt4 book ai didi

Laravel QR 阅读器不使用 .vue 文件

转载 作者:行者123 更新时间:2023-12-04 04:28:36 25 4
gpt4 key购买 nike

我安装了 gruhn/vue-qrcode-reader 包来读取二维码。

这是我的 qrscan.blade.php

<!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"></div>
<script src="{{ mix('js/app.js') }}"></script>
</body>
</html>

应用程序.js
require('./bootstrap');

window.Vue = require('vue');

import Vue from 'vue'
import VueQrcodeReader from 'vue-qrcode-reader'

Vue.use(VueQrcodeReader)

const app = new Vue({
el: '#app',
components: { App },
});

和我的 vue-qrcode-reader.vue
<template>
<QrcodeReader
:paused="paused"
@decode="onDecode"
@init="onInit">
<div v-if="content" class="decoded-content">{{ content }}</div>

<LoadingIndicator v-show="loading" />
</QrcodeReader>
</template>

<script>
import { QrcodeReader } from 'vue-qrcode-reader'
import InitHandler from '@/mixins/InitHandler'
export default {
components: { QrcodeReader },
mixins: [ InitHandler ],
data () {
return {
paused: false,
content: null
}
},
methods: {
onDecode (content) {
this.content = content
this.paused = true
}
}
}
</script>

<style scoped>
.
.
.
</style>

这是我的路线
Route::get('/qrscan', 'InventoryItemController@QRscan'); 

我究竟做错了什么?我得到的只是空白页,就像我的 Blade.php 文件没有检测到我的 .vue 文件一样。

最佳答案

好的,所以有几个问题。主要在app.js .在创建 vue 实例时开始,您引用了一个未知变量 App .我假设这是您的根组件,但您从未导入过它,因此 Vue 不知道这一点。

其次,您还没有在 app.js 中导入组件。 qr 阅读器 - vue-qrcode-reader.vue .因此,它未加载且不可用。

第三,Vue 永远不会被渲染。为什么?您在创建 Vue 实例时没有渲染它,也没有通过引用一些 Vue 组件在 Blade 文件中渲染它。

那么固定代码看起来如何呢?应用程序.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 实例知道你的二维码阅读器组件的存在,我们可以在 Blade 文件中引用它来渲染它:
<!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这是您的组件,将其绑定(bind)到“html”标签 <vue-qr-code-reader>使用 Vue.component方法,然后我们可以在我们的 Blade 文件中使用它。不要忘记重新编译您的 javascript 并希望这会有所帮助:)

关于Laravel QR 阅读器不使用 .vue 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50641987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com