Vue3 常用的 API 主要包括以下几个部分:
- 创建和挂载实例:
createApp:创建一个应用实例。mount:将应用挂载到指定元素上。
import {
createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
app.mount('#app')
- 响应式系统:
reactive:将一个普通对象转换为响应式对象。ref:创建一个响应式引用。computed:创建一个计算属性。watch:监听数据变化并执行回调函数。
import {
reactive, ref, computed, watch } from 'vue'
const state = reactive({
count: 0 })
const countRef = ref(0)
const countPlusOne = computed(() => state.count + 1)
watch(state, (newState, oldState) => {
console.log('状态变化:', newState, oldState)
})
- 模板语法:
v-if:条件渲染。v-for:列表渲染。v-bind:绑定属性。v-on:绑定事件。v-model:双向数据绑定。v-html:将字符串解析为 HTML。v-text:显示文本内容。v-show:根据条件显示/隐藏元素。v-once:只渲染一次元素。v-pre:跳过编译过程,显示原始 HTML 代码。v-cloak:解决 CSS 加载慢导致的闪烁问题。v-on:click.stop:阻止事件冒泡。v-slot:插槽语法。
<template>
<div>
<p v-if="show">Hello, Vue!</p>
<ul>
<li v-for="item in items" :key="item.id">{
{ item.name }}</li>
</ul>
<button @click="increment">增加</button>
<input v-model="message" />
<p v-html="htmlContent"></p>
</div>
</template>
- 组件:
defineComponent:定义一个组件。props:定义组件的 props。emit:触发自定义事件。setup:组件的 setup 函数,用于处理组件的逻辑。provide/inject:实现祖先组件向后代组件传递数据。
import {
defineComponent, ref } from 'vue'
export default defineComponent({
name: 'MyComponent',
props: {
message: String },
setup(props) {
const count = ref(0)
const increment = () => {
count.value++ }
return {
count, increment }
},
})