簡體   English   中英

無法在php文件中調用javascript函數(Laravel)

[英]Cant call javascript function in php file (Laravel)

我目前正在使用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);
    }   }

謝謝,抱歉我的英語不好。

您必須在{{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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM