vue的理解

什么是vue

vue是一套用于构建用户界面的渐进式框架,与其他框架不同的是,vue被设计为可以自底向上逐层应用,它也是创建单页面应用的web应用框架。vue的核心库只关注视图层,不仅易上手,还便于与第三方库或既有项目整合。当与现代化的工具链以及各种支持类库结合使用是,vue也能够为复杂的单页面应用提供驱动。

vue的核心特性

数据驱动(MVVM)

MVVM 表示的是 Model-View-ViewModel

model:模型层,负责处理业务逻辑以及和服务器端进行交互

view:视图层,负责将数据模型转化为UI展示出来

ViewModel:视图模型层,用来连接model和view,是model和view之间的通信桥梁

组件化

什么是组件化,就是把图形,非图形的各种逻辑抽象为一个统一的概念来实现开发的模式,在vue中每一个以.vue的文件都可以被视为一个组件;

组件化的好处

降低整个系统的耦合度,可以替换不同的组件快速完成需求

调试方便,由于整个系统是通过组件组合起来的,在出现为题的时候,可以快速定位到问题,之所以能够快速定位,是因为每个组件之间低耦合,职责单一,所以逻辑会比分析整个系统要简单的多

提高可维护性,由于每个组件的职责单一,并且组件在系统中是被复用的,所以对代码进行优化可获得系统的整体升级

指令系统

指令是带有v-前缀的特殊属性,当表达式的值改变时,将其产生的连带影响,响应式的作用于DOM

常用指令

条件渲染指令:v-if

列表渲染指令:v-for

属性绑定指令:v-bind

事件绑定指令:v-on

双向数据绑定:v-model

vue于传统开发的区别:

vue的所有界面事件,都是只去操作数据的;

vue的所有界面变动,都是根据数据自动绑定出来的

vue和react对比:

相同点:

都有组件化的思想

都支持服务器端渲染

都有虚拟dom

都是数据驱动视图

都有支持native的方案:vue的weex,react的react native

都有自己的构建工具:vue的vue-cli ,react的create react app

区别:

数据流向的不同:react从诞生开始就推崇单向数据流,而vue是双向数据流

数据变化的实现原理不同:react使用的是不可变数据,而vue使用的是可变数据

组件化通信的不同:react中我们使用的是回调函数来进行通信的,而vue中子组件向父组件传递消息有两种方式:事件和回调函数

diff算法不同:react主要使用diff队列保存需要更新哪些dom,得到patch树,再统一操作批量更新dom。vue使用双向指针,边对比,边更新dom

相关推荐
秃头网友小李1 天前
前端难点:keep-alive 缓存什么?RouterView 的 key 为什么要带 scopeId?
前端·vue.js
徐小夕1 天前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
奋斗吧程序媛2 天前
补充一个小知识点:有关@click.native
前端·vue.js
英勇无比的消炎药2 天前
一行命令背后:TinyRobot CLI 如何重构 AI 对话接入的效率范式
vue.js·aigc
jay神2 天前
基于 FastAPI + Vue 的宠物领养管理系统
前端·vue.js·python·毕业设计·fastapi·宠物
一杯奶茶¥2 天前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
英勇无比的消炎药2 天前
一站式搞定品牌风格:TinyRobot 主题定制从入门到精通
vue.js
尽欢i2 天前
Vue3 customRef 封神教程:防抖、本地存储、自动埋点一套搞定,模板干干净净
前端·javascript·vue.js
因_崔斯汀2 天前
Vue 模板编译:HTML 是怎么变成 JS 的?
前端·vue.js
英勇无比的消炎药2 天前
样式随心定制:TinyRobot 样式覆写与 CSS 变量实战解析
vue.js