Vue 3 相比 Vue 2 有哪些重大改进?
解释 Vue 3 的 Composition API 与 Options API 的区别
Vue 3 中的响应式原理是什么?
reactive 和 ref 有什么区别?
watch 和 watchEffect 有什么区别?
如何实现自定义的 ref?
function customRef(factory) {
return {
get() {
track(this, 'value')
return factory().value
},
set(newValue) {
factory().value = newValue
trigger(this, 'value')
}
}
}
Vue 3 的生命周期钩子有哪些变化?
Vue 3 中的 Teleport 组件有什么作用?
<teleport to="body">...</teleport>
Vue 3 中的 Suspense 组件有什么作用?
Vue 3 中如何优化大型应用的性能?
解释 Vue 3 的静态提升 (Static Hoisting) 和补丁标志 (Patch Flags)
如何在 Vue 3 中实现依赖注入?
// 提供者
import { provide } from 'vue'
provide('key', value)
// 消费者
import { inject } from 'vue'
const value = inject('key', defaultValue)
Vue 3 中的 v-model 有什么变化?
v-model:title="pageTitle"
解释 Vue 3 中的渲染函数和 JSX 使用
如何在 Vue 3 中为组件 props 定义 TypeScript 类型?
import { defineComponent } from 'vue'
export default defineComponent({
props: {
message: {
type: String,
required: true
},
count: {
type: Number,
default: 0
}
}
})
如何为 ref 和 reactive 定义 TypeScript 类型?
const count = ref<number>(0)
const user = reactive<{
name: string
age: number
}>({
name: 'Alice',
age: 25
})
如何在 Vue 3 中实现全局状态管理?
Vue 3 中如何处理错误?
如何实现 Vue 3 自定义指令?
const app = createApp({})
app.directive('focus', {
mounted(el) {
el.focus()
}
})
Vue 3 中如何实现路由过渡动画?
<router-view v-slot="{ Component }">
<transition name="fade" mode="out-in">
<component :is="Component" />
</transition>
</router-view>