在index.html的script标签中使用Vue Composition API不生效问题
问题原因及修复方案
- 你当前代码
setup未执行的核心原因是:Vue 3 创建应用实例后,需要手动调用mount方法完成DOM挂载,才会触发完整的实例初始化流程,createApp配置中的el属性不会自动生效。 - 你只需要在创建
app实例的代码后追加.mount('#app')即可,修改后的完整代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vue3 script</title> </head> <body> <div id="app"> </div> <script src="https://unpkg.com/vue@next/dist/vue.global.js"></script> <script type="module"> const app = Vue.createApp({ setup() { console.log("foo") } }).mount('#app') </script> </body> </html>
- 修改后刷新页面,控制台就会正常输出
foo日志。
内容的提问来源于stack exchange,提问作者Stefan_EOX
相关产品推荐
相关产品推荐

