vue3笔记

时间:2024-12-13 07:03:09

1.声明式渲染

通过扩展于标准 HTML 的模板语法,我们可以根据 JavaScript 的状态来描述 HTML 应该是什么样子的。当状态改变时,HTML 会自动更新。

  1.1 reactive() 

        适用于对象(包括数组和内置类型)

  1.2 ref()

        可以接受任何值类型

ref 会返回一个包裹对象,并在 .value 属性下暴露内部值。

注意我们在模板中访问的 message ref 时不需要使用 .value:它会被自动解包,让使用更简单。

(在 template 中直接用,在 script 中记得加 .value 。)

在双花括号中的内容并不只限于标识符或路径——我们可以使用任何有效的 JavaScript 表达式。

2.模板引用

也就是指向模板中一个 DOM 元素的 ref

<p ref="pElementRef">hello</p>

要访问该引用,我们需要声明一个同名的 ref

const pElementRef = ref(null)

注意这个 ref 使用 null 值来初始化。这是因为当 <script setup> 执行时,DOM 元素还不存在。模板引用 ref 只能在组件挂载后访问。

3.生命周期

4.监听

5.父子组件传参

  5.1父组件向子组件传参props

  1. const props = defineProps({
  2. data_: {
  3. default: {},
  4. type: Object,
  5. },
  6. });

        注意 defineProps() 是一个编译时宏,并不需要导入。一旦声明,msg prop 就可以在子组件的模板中使用。它也可以通过 defineProps() 所返回的对象在 JavaScript 中访问。

  5.2 子组件向父组件触发事件emit