Vue 3 的 Composition API

Vue 3 的 Composition API 是一种全新的组织和管理组件代码的方式,允许您在单个 setup 函数中编写更灵活、可重用的代码。以下是一些常见的 Composition API 特性及其用法:

ref:用于创建一个响应式引用。创建后,您可以使用 .value 访问和修改其值。

import { ref } from 'vue';

const count = ref(0);

console.log(count.value); // 0

count.value++; // count.value 现在是 1

reactive:用于创建一个响应式对象。与 ref 类似,但用于对象。

import { reactive } from 'vue';

const state = reactive({ count: 0 });

console.log(state.count); // 0

state.count++; // state.count 现在是 1

computed:用于创建计算属性。它接受一个函数,并返回一个只读的响应式引用。

import { ref, computed } from 'vue';

const count = ref(0);

const doubled = computed(() => count.value * 2);

console.log(doubled.value); // 0

count.value++; // doubled.value 现在是 2

watch 和 watchEffect:用于监视响应式引用和/或响应式对象的变化,并在它们发生变化时执行函数。

import { ref, watch, watchEffect } from 'vue';

const count = ref(0);

watch(count, (newValue, oldValue) => {

  console.log(`Count changed from ${oldValue} to ${newValue}`);

});

watchEffect(() => {

  console.log(`Count is now ${count.value}`);

});

count.value++; // 输出:

              // Count is now 1

              // Count changed from 0 to 1

生命周期钩子:Vue 3 提供了与 Vue 2 类似的生命周期钩子函数,如 onMounted、onUpdated 和 onUnmounted。

import { onMounted, onUpdated, onUnmounted } from 'vue';

onMounted(() => {

  console.log('Component mounted');

});

onUpdated(() => {

  console.log('Component updated');

});

onUnmounted(() => {

  console.log('Component unmounted');

});

setup:在组件中使用 Composition API 的入口点。在此函数中,您可以使用响应式引用、计算属性、监视器和生命周期钩子等功能。setup 函数应返回一个对象,该对象包含要暴露给模板的数据和方法。

<template>

  <button @click="increment">{{ count }}</button>

</template>

<script>

import { ref, onMounted } from 'vue';

export default {

  setup() {

    const count = ref(0);

    function increment() {

      count.value++;

    }

    onMounted(() => {

      console.log('Component mounted');

    });

    return {

      count,

      increment

    };

  }

};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容