首頁  >  問答  >  主體

使用導出的值在Vue Composition API的設定中

<p>在一個普通的js檔案中,程式碼如下:</p> <pre class="brush:php;toolbar:false;">export default async function exportData() { const { data } = await store .dispatch('fetchData') const { bookings } = data const booking = bookings.length ? bookings[0]._id : '' const event = { bookingID: booking } // 其他方法和變數 return { ..... } }</pre> <p>在vue檔中:</p> <pre class="brush:php;toolbar:false;">import exportData from './exportData' export default { setup() { const { fetchEvents, isEventActive, } = exportData() fetchEvents() } }</pre> <p>問題是在vue元件中,從exportData取得的值是undefined,當匯出是非同步的時候,會出現fetchEvents不是一個函數的錯誤。如果不是異步的話,可以正常工作。這裡有什麼解決方法? </p>
P粉237125700P粉237125700420 天前401

全部回覆(1)我來回復

  • P粉245003607

    P粉2450036072023-08-26 13:44:49

    你可以嘗試在計畫的js檔案中宣告fetchEvents和isEventActive方法,而無需將其包裝在任何函數中

    const fetchEvents = () => {
       //body
    };
    
    const isEventActive = () => {
         //body
    };

    並將它們匯出為

    export {fetchEvents, isEventActive};

    現在使用它們

    import {fetchEvents,isEventActive} from 'path-to-js-file'
    export default {
      setup() {
        fetchEvents()
        isEventActive()
      }
    }

    回覆
    0
  • 取消回覆