vue3 和 vue 中的差异

# vue3 和 vue 中的差异

基于函数式编程

# 一、入口文件

import {createApp} from 'vue'
const app = createApp(App);
app.use();
app.mixins();
app.component();
app.directive();
app.mount("#root");
1
2
3
4
5
6
7

# 二、Fragement template

可以使用多个节点

<template>
    <div>
        <p>demo1<p>
        <p>demo2<p>
    <div>
</template>
1
2
3
4
5
6
<template>
    <p>demo1<p>
    <p>demo2<p>
</template>
1
2
3
4

# 三、style

// ::v-deep()

<style lang="scss" scoped>
  .openApi-radio{
    margin:10px 0 20px;
    ::v-deep().el-radio-button__inner{
      border: 1px solid rgb(220, 223, 230);
    }
    // /deep/ .el-radio-button__inner{
    //   border: 1px solid rgb(220, 223, 230);
    // }

  }
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 四、Suspense

一开始是 react 中 才有的,vue2 中一般使用 v-if去模拟

# 🐩 异步组件作用

  • 在页面加载之前显示加载动画
  • 显示占位符内容
  • 处理延迟加载的图像
    <Suspense>
        <template #default>
            <HeaderNav />
        </template>
        <template #fallback> Loading ... </template>
    </Suspense>
    // 结合difineSyncComponents使用
1
2
3
4
5
6
7

# 五、可以使用 jsx + tsx

import {h} from 'vue'
const React = { createElement: h }
// 为了让 tsx 转换之后的代码可以正确引用到 vue
1
2
3
最后更新时间: 3/11/2021, 10:58:11 PM