Vue3笔记

react的设计过于简陋,生态乱七八糟,好处是组件库(如antd)的质量比较高。

vue3的设计要完整的多,性能(如vite)也好得多,不需要学习一堆没有的东西(如next.js)。

核心概念

vue3的核心其实挺简单的,学会单文件式组件(SFC)的使用即可。核心就是几个宏:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<script setup>
  import { ref } from 'vue';
  const m = defineModel();
  const props = defineProps(["param1", "param2"]);
  const events = defineEmits(["evt1", "evt2"]);
  defineOptions({
      inheritAttrs: false
  })
  const localVar = ref('');
</script>

下面就是写<template>的html和<style>refwatch等方法其实有点像react了。

props是类似go中Context的显式传递上下文,除了这种方案外,vue3还支持依赖注入:

1
2
3
4
<script setup>
  import { provide } from 'vue';
  provide('message', 'hello world');
</script>

需要用的地方:

1
2
3
4
<script setup>
  import { inject } from 'vue';
  const msg = inject('message');
</script>

如果害怕字符串冲突,也可以使用Symbol获取唯一名称作为依赖名称;

0%