Vue(读音/Vju:/,类似于View)是一套用于构建用户界面的渐进式框架,与其他大型框架相比,Vue被设计为可以自底向上逐层应用。其他大型框架往往一-开始就对项 目的技术方案进行强制性的要求,而Vue更加灵活,开发者既可以选择使用Vue来开发一个全新项目,也可以将Vue引入到一个现有的项目中。

另一方面,当Vue与现代化的工具链以及各种支持类库结合使用时,也完全能够为复杂的单页应用提供驱动。工具链是指在前端开发过程中用到的一系列工具,例如,使用脚手架工具创建应用,使用依赖管理工具安装依赖包,以及使用构建工具进行代码编译等。

Vue的数据驱动是通过MVVM( Model-View-ViewModel )模式来实现的,其基本工作原理如图下图所示。

VUE的基本工作原理

从上图中可以看出,MVVM主要包含3个部分,分别是Model、View 和ViewModel。Model指的是数据部分,主要负责业务数据; View指的是视图部分,即DOM元素,负责视图的处理。ViewModel是连接视图与数据的数据模型,负责监听Model或者View的修改。

在MVVM中,数据(Model)和视图(View)是不能直接通信的,视图模型(ViewModel)就相当于一个观察者,监控着双方的动作,并及时通知进行相应操作。当Model 发生变化的时候,ViewModel能够监听到这种变化,并及时通知View做出相应的修改。反之,当View发生变化时,ViewModel监听到变化后,通知Model进行修改,实现了视图与模型的互相解耦。

什么是Vue?Vue的工作原理是什么?通过上面的介绍你了解了吗?Web前端相关技术问题也可以关注小千,后续发布更多技术内容和行业资讯,等你来哦~~~~

什么是Vue?Vue的工作原理是什么?相关推荐

  1. vue的matcher_vue-router工作原理概述和问题分析

    工作原理简要流程图 hashchange --> match route --> set vm._route --> render() --> render matched c ...

  2. VUE路由的工作原理

    1.vue路由的两种模式 hash模式: 比如 'http://www.baidu.com/#/abc' hash 的值为 '#/abc' 它的特点在于:hash 虽然出现 URL 中,但不会被包含在 ...

  3. Vue数据代理的原理

    前言 Vue的数据代理的原理是十分重要的,它的学习对我们了解Vue的底层工作原理以及学习Vue具有举足轻重的作用,掌握了数据代理的原理,我们便可以由浅入深,再去学习Vue的响应式原理:因此本篇文章我将 ...

  4. 理解vue中less的scoped和/deep/工作原理

    理解vue中less的scoped和/deep/工作原理 scoped /deep/ 实战 总结 scoped vue项目一般是单页面.多组件,整个项目共用一个css样式表,有时候我们在写组件的过程中 ...

  5. vue created 调用方法_深入解析 Vue 的热更新原理,偷学尤大的秘籍?

    大家都用过 Vue-CLI 创建 vue 应用,在开发的时候我们修改了 vue 文件,保存了文件,浏览器上就自动更新出我们写的组件内容,非常的顺滑流畅,大大提高了开发效率.想知道这背后是怎么实现的吗, ...

  6. vue的双向绑定原理及实现

    前言 使用vue也好有一段时间了,虽然对其双向绑定原理也有了解个大概,但也没好好探究下其原理实现,所以这次特意花了几晚时间查阅资料和阅读相关源码,自己也实现一个简单版vue的双向绑定版本,先上个成果图 ...

  7. Vue 响应式实现原理深入浅出

    前言 vue 是一个易上手的框架,许多便捷功能都在其内部做了集成,其中最有区别性的功能就是其潜藏于底层的响应式系统.组件状态都是响应式的 JavaScript 对象.当更改它们时,视图会随即更新,这让 ...

  8. 什么是Vue,Vue的作用与原理?

    Vue Vue是MVVM中ViewModel的实现者 vue-cli 官方脚手架 帮助快速创建项目 vuex 存储对象里面相应的属性值等 webpack打包工具 MVVM MVVM(Model-Vie ...

  9. 深入解析 Vue 的热更新原理,尤大是如何巧用源码中的细节?

    大家都用过 Vue-CLI 创建 vue 应用,在开发的时候我们修改了 vue 文件,保存了文件,浏览器上就自动更新出我们写的组件内容,非常的顺滑流畅,大大提高了开发效率.想知道这背后是怎么实现的吗, ...

最新文章

  1. 复位 stm32_stm32学习笔记
  2. 云上的精准医疗——公有云、私有云案例分析和比较
  3. 如何在debian 中启用 fbcon
  4. 百度AI原生云实践: 基于容器云打造 AI 开发基础设施
  5. 工控服务器性能指标,PLC的7大性能指标
  6. Android:Eclipse如何删除ADT
  7. 「移动开发」iuap mobile玩转前端自动化构建
  8. Sismics Reader: Google Reader的一个本地替代品
  9. 连接数据库的三种配置方式
  10. 【2019CCPC秦皇岛:A】Angle Beats(离线+斜率Hash+分类讨论)
  11. 海思3516A bt1120 视频输入相关总结
  12. linux下while循环,Bash 中的 while 循环详解
  13. from_tensor_slices()
  14. 瞻博QFX5100系列交换机光模块解决方案
  15. C#打印正三角、倒三角、平行四边形
  16. 二线城市-太原-程序员真实写照
  17. 虚拟偶像PK现实偶像,哪个更能发挥粉丝经济效应?
  18. Excel数据合并到统计分析自动处理的python示例(精益办公实战1)
  19. 手把手教你实现解密数独的小程序并部署到web端
  20. 以远程计算机上的用户身份访问Com+应用

热门文章

  1. 线上报名 | 高性能深度学习推理引擎 TensorRT 实战编程讲解
  2. vb mschart 坐标名称_最强干货来了:Grasshopper运算器名称总结(上篇)
  3. 第一阶段:Java基础之OOP
  4. 「数据库系列三」磁盘、内存和带宽
  5. IntelliJ IDEA——连接Apache Hive时 “Database” Plugin错误[enabling autocommit is not supported.]解决方案
  6. Spring Boot——自定义Web配置类后无法访问/static文件夹下静态资源
  7. 2021暑假实习-SSM超市积分管理系统-day06笔记
  8. Runtime底层原理--动态方法解析总结
  9. Java 进阶 ——2019 计划要读的书
  10. sql-labs page1 (1~20)解题过程记录