我目前正在使用QR码学习laravel。我使用从github获得的代码。当我运行html文件时,它的工作正常。但是,当我在php文件(Laravel)中添加代码时,出现了一些错误。
错误:
ErrorException(E_ERROR) 调用未定义的函数formatName()(视图:C:\ xampp \ htdocs \ museumadityawarman \ resources \ views \ topups \ scan_qrcode.blade.php)
错误指出了我的这一部分观点:
<span v-if="camera.id == activeCameraId" :title="formatName(camera.name)" class="active">{{ formatName(camera.name) }}</span>
<li v-for="scan in scans" :key="scan.date" :title="scan.content"><script type="text/javascript">{{scan.content}}</li>
我尝试从
更改{{ formatName(camera.name) }}
收件人
<script>formatName(camera.name);</script>
这确实可以修复错误消息,但是我仍然无法获取该值。
这是一些Javascript代码:
methods: {
formatName: function (name) {
return name || '(unknown)';
},
selectCamera: function (camera) {
this.activeCameraId = camera.id;
this.scanner.start(camera);
} }
谢谢,抱歉我的英语不好。
答案 0 :(得分:1)
您必须在{{formatName(camera.name)}}
之前输入@@{{ formatName(camera.name) }}
查看Laravel文档https://laravel.com/docs/5.6/blade#blade-and-javascript-frameworks:
由于许多JavaScript框架还使用“大括号”来指示应在浏览器中显示给定的表达式,因此您可以使用@符号来通知Blade渲染引擎表达式应保持不变
编辑:
由于您看起来正在使用vue.js,因此还可以像这样使用指令v-text:
<span v-if="camera.id == activeCameraId" :title="formatName(camera.name)" class="active" v-text="formatName(camera.name)"></span>