• 重构项目 vue2 => vue3 & nuxt2 => nuxt3 遇到的问题


    1. vue3获取组件的上下文

      1. import { getCurrentInstance } from 'vue';
      2. // 获取当前组件实例
      3. const instance = getCurrentInstance();
      4. // 获取当前组件的上下文,下面两种方式都能获取到组件的上下文。
      5. // 方式一,这种方式只能在开发环境下使用,生产环境下的ctx将访问不到
      6. const { ctx } = getCurrentInstance();
      7. // 方式二,此方法在开发环境以及生产环境下都能放到组件上下文对象(推荐)
      8. const { proxy } = getCurrentInstance();
    2. nuxt3 中使用Vue 语法,需要使用Vue提供的resolveComponent辅助方法,否则无法正常渲染组件,且组件名称必须是字符串而不是变量

      1. <script setup>
      2. const MyButton = resolveComponent('MyButton')
      3. script>
    3. 警告:Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with markRaw or using shallowRef instead of ref.使用"markRaw"方法将组件对象标记为非响应式对象,或者使用"shallowRef"代替"ref"来创建一个浅响应式对象。

      const componentMap = markRaw(myComponent)
    4. elementPlus与elementUI语法升级 

      1. //elementUI的descriptions组件插槽语法:
      2. <template slot="extra">template>
      3. //elementUI的elementPlus组件语法:
      4. <el-descriptions>
      5. <template #extra>template>
      6. el-descriptions>
      7. 否则会不展示插槽内容
      1. //elementUI的popover组件插槽语法:
      2. <div slot="reference">div>
      3. //elementUI的popover组件语法:
      4. <el-popover>
      5. <template #reference>template>
      6. el-popover>
      7. 否则会报如下警告

     

  • 相关阅读:
    亿图导出word和PDF中清晰度保留方法
    html引入html
    LayUI之CRUD
    【图画】【终身学习】
    【JVM系列】- 启航·JVM概论学习
    C2. k-LCM (hard version)-Codeforces Round #708 (Div. 2)
    二叉树的遍历 中序线索二叉树
    HarmonyOS鸿蒙-DevEco Studio工具
    ubuntu 18.04下安装Anaconda、Cuda、Cudnn、gpu-Pytorch
    squid专业的日志分析工具sarg
  • 原文地址:https://blog.csdn.net/wxiao_xiao_miao/article/details/133697280