vue功能实现
Vue 功能实现
数据绑定与响应式更新
Vue 通过 v-model 实现双向数据绑定,表单输入自动同步到数据属性。响应式系统基于 Object.defineProperty 或 Proxy(Vue 3)监听数据变化,触发视图更新。
示例代码:
<template>
<input v-model="message">
<p>{{ message }}</p>
</template>
<script>
export default {
data() {
return { message: '' }
}
}
</script>
组件化开发
通过 .vue 文件封装模板、逻辑和样式,支持 props 传递数据和自定义事件通信。
示例代码:
<!-- ParentComponent.vue -->
<template>
<ChildComponent :title="parentTitle" @notify="handleNotify" />
</template>
<!-- ChildComponent.vue -->
<template>
<button @click="$emit('notify', 'Event triggered')">{{ title }}</button>
</template>
<script>
export default {
props: ['title']
}
</script>
状态管理(Vuex/Pinia)
Vuex 提供集中式状态管理,适用于复杂应用。Pinia 是 Vue 3 推荐的状态库,更轻量且支持 TypeScript。
Vuex 示例:
// store.js
const store = new Vuex.Store({
state: { count: 0 },
mutations: { increment(state) { state.count++ } }
});
路由管理(Vue Router)
实现单页应用(SPA)的路由跳转和动态加载。支持嵌套路由和导航守卫。
示例配置:
const router = new VueRouter({
routes: [
{ path: '/home', component: Home },
{ path: '/user/:id', component: User }
]
});
生命周期钩子
组件生命周期钩子(如 created、mounted)用于在特定阶段执行逻辑。
示例:
export default {
created() { console.log('Component created'); },
mounted() { this.fetchData(); }
}
指令与自定义指令
内置指令(如 v-if、v-for)控制渲染逻辑,支持自定义指令扩展功能。
自定义指令示例:
Vue.directive('focus', {
inserted(el) { el.focus(); }
});
混入(Mixins)与组合式 API
Vue 2 使用混入复用逻辑,Vue 3 推荐组合式 API(setup 函数)实现更灵活的代码组织。
组合式 API 示例:
import { ref } from 'vue';
export default {
setup() {
const count = ref(0);
const increment = () => count.value++;
return { count, increment };
}
}
服务端渲染(SSR)
通过 Nuxt.js 框架简化 SSR 实现,提升首屏加载速度和 SEO。
Nuxt 页面示例:

<!-- pages/index.vue -->
<template>
<h1>{{ pageTitle }}</h1>
</template>
<script>
export default { asyncData() { return { pageTitle: 'Home' }; } }
</script>






