Skip to content

Vue 的优点和特点

双向数据绑定

传统 DOM 开发中,数据变化后需要手动执行 document.getElementById('xxx').innerHTML = newValue 更新视图;输入框变化时,也需要监听事件、读取 e.target.value,再同步回数据状态。Vue 通过 v-model 将这类双向同步封装为声明式写法:数据变化后视图自动刷新,输入变化后数据也会同步更新。

它的底层基础是数据劫持(Proxy / Object.defineProperty)和发布订阅机制。开发者只需要声明数据与视图的绑定关系,具体的监听、派发和 DOM 更新由框架完成。

虚拟 DOM

直接操作真实 DOM 的成本较高,每次修改都可能触发布局计算和重绘,频繁操作会影响页面性能。Vue 在数据层和 DOM 层之间引入虚拟 DOM:数据变化后先生成新的虚拟 DOM,再与旧虚拟 DOM 比较差异,计算出最小变更集,最后批量应用到真实 DOM。这样既保留了数据驱动视图的开发方式,也降低了大量手写 DOM 操作带来的性能和可维护性风险。

组件化思想

Vue 鼓励将页面拆分为独立、可复用的组件,每个组件包含自己的模板、逻辑和样式。按钮、表格、弹窗等通用 UI 可以封装一次并在多个业务页面复用,后续维护时也只需要修改组件本身。

组件化的价值不只是复用,更重要的是拆分复杂度。当页面逻辑被拆成多个职责明确的组件后,问题定位范围会更小,修改单个组件时也更容易控制影响面。

渐进式生态

Vue 的生态是渐进式的,不要求项目一开始就引入完整技术栈。业务简单时,可以通过一个 <script> 标签引入 CDN 使用;需要路由时引入 vue-router,需要状态管理时引入 Pinia,需要 SSR 时再选择 Nuxt。开发团队可以根据项目复杂度逐步扩展技术栈,而不是被固定方案强绑定。