当然!以下是 Vue 3 中一些常用功能的详细介绍和示例:
Reactive System(响应式系统)
-
ref
import { ref } from 'vue'; const count = ref(0); function increment() { count.value++; }
ref
用于创建一个响应式的基本数据类型。 -
reactive
import { reactive } from 'vue'; const state = reactive({ count: 0, message: 'Hello' }); function increment() { state.count++; }
reactive
用于创建一个响应式对象。 -
computed
import { ref, computed } from 'vue'; const count = ref(0); const double = computed(() => count.value * 2);
computed
用于创建计算属性,基于依赖的变化自动更新。 -
watch
import { ref, watch } from 'vue'; const count = ref(0); watch(count, (newValue, oldValue) => { console.log(`Count changed from ${oldValue} to ${newValue}`); });
watch
用于观察响应式数据的变化。 -
watchEffect
import { ref, watchEffect } from 'vue'; const count = ref(0); watchEffect(() => { console.log(`Count is: ${count.value}`); });
watchEffect
会立即执行传入的函数,并在依赖变化时重新执行。
Lifecycle Hooks(生命周期钩子)
-
onMounted
import { onMounted } from 'vue'; onMounted(() => { console.log('Component has been mounted'); });
onMounted
在组件挂载后执行。 -
onUnmounted
import { onUnmounted } from 'vue'; onUnmounted(() => { console.log('Component has been unmounted'); });
onUnmounted
在组件卸载时执行。
Component System(组件系统)
-
defineComponent
import { defineComponent } from 'vue'; export default defineComponent({ name: 'MyComponent', setup() { // setup logic here } });
defineComponent
用于定义一个 Vue 组件。 -
h
import { h } from 'vue'; const vnode = h('div', { class: 'example' }, 'Hello World');
h
函数用于创建虚拟 DOM 节点。
Provide/Inject(依赖注入)
-
provide
import { provide } from 'vue'; provide('myValue', 42);
provide
用于在组件树中向下传递数据。 -
inject
import { inject } from 'vue'; const myValue = inject('myValue');
inject
用于在子组件中接收数据。
Other Utilities(其他工具)
-
nextTick
import { nextTick } from 'vue'; nextTick(() => { console.log('DOM updated'); });
nextTick
在 DOM 更新后执行回调。 -
isRef
import { ref, isRef } from 'vue'; const count = ref(0); console.log(isRef(count)); // true
isRef
用于检查一个对象是否是ref
。
这些功能结合使用,可以帮助你更好地管理 Vue 3 应用的状态和生命周期。