搜索

首页  >  问答  >  正文

使用导出的值在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粉237125700463 天前435

全部回复(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
  • 取消回复