如何在JavaScript与Vue.js中调用已导入函数?调用无结果求助
问题根源
你虽然导入了search函数,但当前代码里完全没有调用这个导入的函数——draftSearched方法里的search = this.search是给参数设默认值,指向的是组件自身的search数据(比如data里定义的),和你导入的API函数不是一回事,所以肯定看不到导入函数的执行结果。
修复方案
主动调用导入的
search函数
在需要的地方(比如draftSearched方法内部)调用它,传入必要参数:<script> import { search } from '../modules/api/drafts' ... methods: { draftSearched (payload) { // 调用导入的API搜索函数 const result = search(payload) console.log('搜索函数执行结果', result) // 要访问组件自身的search数据,直接用this.search console.log('组件本地search值', this.search) } } </script>处理异步情况(如果search是异步函数)
如果search是返回Promise的异步API(比如axios请求),得用async/await或者.then()处理结果:async draftSearched (payload) { try { const result = await search(payload) console.log('异步搜索结果', result) } catch (error) { console.error('搜索失败', error) } }确保
draftSearched方法被触发
检查这个方法是否通过正确的方式被调用(比如绑定到按钮点击事件@click="draftSearched"、或者在watch钩子中触发),如果方法本身没执行,任何代码都不会有输出。
内容的提问来源于stack exchange,提问作者john
相关产品推荐
相关产品推荐

