Vue3入门之三
1.获取实例 instance
在 vue2 中,我可以通过 this和this.$el获取到当前实例的dom元素,但是在Vue3的 组合式API中如何获取到Dom元素呢?可以通过 ref 定义的方式,这个问题我先不总结,就说使用 实例的形式进行获取。 如下的代码所示,我希望在点击按钮的时候,会弹出实例信息,但是经过测试,这个 instance 是一个 null。
1 | <template> |
【解决方案】
通过在 onMounted 中保存实例的引用。
1 | <template> |
【1】.hook 中getcurrentinstance() 返回值为Null 拿不到全局上下文对象的问题
【2】.vue3在setup中获取DOM元素 这是在 onMounted 函数中获取实例。
【3】.从 Composition API 源码分析 getCurrentInstance() 为何返回 null 这里在源码的角度表达了为什么获取到的实例为 null
【4】.关于Vue3获取当前组件实例的 getCurrentInstance 方法的补充 大家不要依赖 getCurrentInstance 方法去获取组件实例来完成一些主要功能,否则在项目打包后,一定会报错的。
2.在setup中使用异步组件
在setup中使用异步组件,需要定义一个变量的形式进行。
1 | <script setup> |
3.开启本地https调试
(1) 安装
1 | pnpm vite-plugin-mkcert -D |
(2) 使用
1 | // vite.config.js |
(3) https 页面不允许嵌入 http,但是可以嵌入 http://localhost
【1】.vue3+vite如何在本地进行https调试 方式1:@vitejs/plugin-basic-ssl;方式二:vite-plugin-mkcert
【2】.https的页面内嵌入http页面报错的问题 浏览器将你需要访问的 HTTPS 和 HTTP 页面设置为安全。比如在Chrome浏览器中:设置 - 隐私设置和安全性 - 网站设置 - 不安全问题 - 允许,在允许里面将你的 HTTPS 页面域名和 HTTP 页面的域名都添加进去,请注意,必须两个都添加进去,否则没效果。
【3】.HTTPS站点使用WebSocket的错误及解决方案