Vue3 Composition API使用created钩子报错:ambiguous indirect export: created
问题解决:Vue3组合式API中替代created钩子的正确方式
错误原因
Vue3组合式API中没有导出created这个钩子函数,你尝试从vue包导入它是错误的,这就是控制台报错Uncaught SyntaxError: ambiguous indirect export: created的根本原因。
正确实现方式
在<script setup>中,组件实例创建完成后会立即执行顶层代码,这个时机完全等价于选项式API里created钩子的作用,直接把初始化逻辑写在顶层即可:
<script setup> // 直接执行初始化逻辑,等价于created钩子 console.log("init"); // 如果逻辑复杂,可封装成函数调用 const initDark = () => { console.log("init"); }; initDark(); </script>
补充说明
组合式API的生命周期钩子均以onXXX命名(比如onMounted、onBeforeUnmount),但并没有专门的onCreated钩子——因为<script setup>的顶层代码执行时机已经完全覆盖了created的应用场景,无需额外调用钩子函数。
内容的提问来源于stack exchange,提问作者Monzur Alam
相关产品推荐
相关产品推荐

