vue3 Composition API

阅读数:45 评论数:0

跳转到新版页面

分类

html/css/js

正文

一、概述 

Vue 3 引入了 Composition API,这是一套新的基于函数的 API,它允许开发者更灵活地组织和重用代码。与 Vue 2 中的 Options API 相比,Composition API 提供了一种更灵活的方式来组合和管理组件的逻辑。

二、主要特性

Composition API 的核心是 setup 函数,它是组件的入口点,用于声明响应式状态、计算属性、方法和生命周期钩子等。

1、响应式状态

使用 ref 和 reactive 函数可以定义响应式状态:

  • ref 用于定义一个响应式的基本类型值。
  • reactive 用于定义一个响应式的对象。
import { ref, reactive } from 'vue';

const count = ref(0); // 基本类型
const state = reactive({ name: 'Vue', version: '3' }); // 对象

2、计算属性

计算属性可以通过 computed 函数创建:

import { computed } from 'vue';

const count = ref(1);
const doubledCount = computed(() => count.value * 2);

3、侦听器

watch 和 watchEffect 函数可以用来侦听响应式状态的变化:

import { watch, watchEffect } from 'vue';

const count = ref(0);

// watch
watch(count, (newValue, oldValue) => {
  console.log(`count changed from ${oldValue} to ${newValue}`);
});

// watchEffect
watchEffect(() => console.log(`count is now ${count.value}`));

4、生命周期钩子

在 setup 函数内部,可以使用生命周期钩子,如 onMountedonUpdatedonUnmounted

import { onMounted } from 'vue';

setup() {
  onMounted(() => {
    console.log('组件已挂载');
  });
}



相关推荐

一、概述 在vue2中,data函数里返回的值直接为响应式,但在vue3中我们需要使用一些函数才能达到这个效果。 setup函数中拿不到vue的this。 二、常用函数 <template> <d

一、computed和watch应用场景 1、computed computed拥有缓存属性,擅长的处理的场景是一个数据受多个数据影响。 2、watch 擅长处理的场景是一个数据影响多个数据,另外可以

一、概述 watchEffect和watch都是监听器,但在写法和使用上有所区别。 watch- 显式指定依赖源,依赖源更新时执行回调函数 watchEffect - 自动收集依赖源,依赖源更新时重

ref被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的$refs对象上。如果在普通的DOM元素上使用,引用指向的就是DOM元素,如果用在子组件上,引用就指向组件实例。 <!-- `vm.$

最近自己做了一个网站,使用了cdn加速bootstrap和jquery的加载。这里先解释一下什么是cdn。 c

一、概述 在vue3中没有$refs这个对象,可以使用如下方法 <template> <div><input type="text" ref="txt1" value="hello" /></div>

浏览器的重排(Reflow)是指浏览器重新计算页面元素的位置和尺寸的过程。重排是一个计算密集型的过程,因为它需要更新渲染树,并且可能导致整个页面或页面的一部分重新绘制。触发重排的操作通常包括: 添

一、概述 在 Vue 3 中,shallowRef 是一种用于创建浅层响应式引用的 API。与 ref 不同,shallowRef 只会对其引用的值进行浅层监听,而不会递归地使对象的内部属性也成为响应

一、概述 background是css简写属性,可有一个或多个值,且可以按任意顺序放置: background: <bg-color> <bg-image> <position/bg-size>

一、vue.js devtools开发工具的使用 1、安装 在chrome或firefox浏览器的扩展插件仓库里搜索vue devtool。 2、debugger的使用 假设我们想调试App.vue这