簡體   English   中英

如何將變量從服務器傳遞到 app.js? Laravel + Vue

[英]how to pass variables from server to app.js? Laravel + Vue

我想使用的插件讓我們在 app.js 中的插件聲明中定義變量

Vue.use(AirbnbStyleDatepicker, {monthNames: [
        'January',
        'February',
        'March',
        'April',
        'May',
        'June',
        'Julyyy',
        'Augusttt',
        'September',
        'October',
        'November',
        'December',
    ],});

但是我的網站幾乎沒有在服務器中管理的語言環境,我通常對 laravel 中的變量進行編碼並將它們作為道具傳遞。 在這種情況下,這不起作用。 我沒有找到如何使用組件中的選項初始化插件,那么解決這個問題的方法是什么?

您可以在視圖中加載“app.js”之前定義 javascript 數組。 然后將其作為 const 放入 app.js 中。

在插入 app.js 之前查看:

<script type="text/javascript"> 
  const trans_month = {{getTransMonths()}}
</script>

然后在你 app.js

Vue.use(AirbnbStyleDatepicker, {monthNames: trans_month,});

或者您可以使用 ajax 調用服務器,這將返回翻譯月份的數組

剛剛找到了一種解決方案,但也許還有更好的解決方案?

  1. 安裝此 package https://packagist.org/packages/laracasts/utilities
  2. 在服務器做
JavaScript::put(['langs' => [
   july => __('configname.july'),
   august => __('configname.august')
]])
  1. 在客戶端執行此操作
Vue.use(AirbnbStyleDatepicker, {monthNames: [
       'January',
       'February',
       'March',
       'April',
       'May',
       'June',
       window.langs['july'],
       window.langs['august'],
       'September',
       'October',
       'November',
       'December',
   ],});

暫無
暫無

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

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