Vue 3中那些激动人心的新功能
Posted 前端之巅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue 3中那些激动人心的新功能相关的知识,希望对你有一定的参考价值。
让我们先从大多数人可能都听说过的 API 开始……
合成(Composition)API 是 Vue 的新大版本中讨论最多的特色语法。这是一种全新的逻辑复用和代码组织方法。
目前,我们使用所谓 Options API 构建组件。要将逻辑添加到 Vue 组件中,我们要填充(option)诸如data
、methods
、computed
之类的属性。这种方法的最大缺点是它本身并非有效的 javascript 代码。你需要准确了解模板中可以访问哪些属性,以及this
关键字的行为。在后台,Vue 编译器需要将属性转换为可用的代码。因此我们无法享受自动提示或类型检查功能的帮助。
合成 API 会将组件属性中当前可用的机制暴露为 JavaScript 函数,从而解决这个问题。Vue 核心团队将合成 API 定义为“一组基于函数的附加 API,可以灵活地组合组件逻辑”。用合成 API 编写的代码更具可读性,也没有在幕后隐藏什么魔法,这使它更易于阅读和学习。
<template>
<button @click="increment">
Count is: {{ count }}, double is {{ double }}, click to increment.
</button>
</template>
<script>
import { ref, computed, onMounted } from 'vue'
export default {
setup() {
const count = ref(0)
const double = computed(() => count.value * 2)
function increment() {
count.value++
}
onMounted(() => console.log('component mounted!'))
return {
count,
double,
increment
}
}
}
</script>
import { ref, computed, onMounted } from 'vue'
如前所述,合成 API 将组件属性暴露为函数,因此第一步是导入所需的函数。在我们的示例中,我们需要用ref
创建响应性引用、用computed
创建计算属性,并用onMounted
访问挂载的生命周期 hook。
setup
方法是做什么的?
export default {
setup() {
简单说,它只是一个将属性和函数返回到模板的函数,仅此而已。我们在这里声明所有响应属性、计算属性、观察者和生命周期 hooks,然后返回它们,以便在模板中使用。
setup
函数返回的内容将无法在模板中使用。
const count = ref(0)
ref
函数声明了称为
count
的响应属性。它可以包装任何原语或对象,并返回其响应性引用。传递的元素的值将保留在所创建引用的
value
属性中。例如,如果要访问
count
引用的值,则需要显式请求
count.-value
。
const double = computed(() => count.value * 2)
function increment() {
count.value++
}
double
和
increment
函数时所做的事情。
onMounted(() => console.log('component mounted!'))
onMounted
hook 在组件挂载时记录了一些消息,这里只是告诉你可以这样做以上是关于Vue 3中那些激动人心的新功能的主要内容,如果未能解决你的问题,请参考以下文章