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
-
const props = defineProps({
-
data_: {
-
default: {},
-
type: Object,
-
},
-
});
注意 defineProps()
是一个编译时宏,并不需要导入。一旦声明,msg
prop 就可以在子组件的模板中使用。它也可以通过 defineProps()
所返回的对象在 JavaScript 中访问。