热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

导语1——vue简单介绍

Vue.js(国内的大牛尤雨溪(EvanYou)开发的。)一个轻量级MVVM框架(gzip只有20k),数据驱动组件化前端开发。对比Ang
Vue.js(国内的大牛尤雨溪 (Evan You) 开发的)
一个轻量级MVVM框架(gzip只有20k+),数据驱动+组件化前端开发。
对比Angular React:
1)Vue.js更轻量,gzip后只有20k+(Angular gzip后有60k+,对于移动端来说,vue更好)
2)Vue.js更易上手,学习曲线平稳(Angular最初是由java设计人员开发的,有些语法难懂)
3)借鉴Angular的指令(比如v-show,v-hidden)和React的组件化(把一个页面抽成组件数,每个组件都有完整的生命周期)(Vue.js也有很多自己的功能,比如计算属性computed)
Vue产生背景
1.近年来前端开发趋势变化:旧浏览器被淘汰,移动端需求增加。而 Vue.js 核心是利用ES5的Object.defined.profile。
旧浏览器:IE5~8,不支持ES5特性,利用Object.defined.profile
IE9移动端大部分基于webkit内核,支持ES5特性
2.前端交互越来越多,功能越来越复杂
3.架构从传统后台 MVC 向 REST API + 前端MV* 迁移
传统后台MVC:前端数据和后台进行交互时,刷新整个页面,用户体验差
REST API+:利用Ajax与后端REST API进行通讯,异步刷新前端某个区块,优化提升体验,同时把MVC拿到前端来做
PS:MV*:包括MVC,MVP,MVWM
MVVM框架
1.包括:View(视图,对应前端的DOM),ViewModel(连接视图和数据,通讯,观察者),Model(数据,对应前端的Javascript对象)
MVVM框架下View和Model之间没办法通讯,必须通过ViewModel观察两者变化,并将其变化反映到另一方那里,从而实现双向绑定。
2.功能:
1)针对具有复杂交互逻辑的前端应用
2)提供基础的架构抽象
3)通过Ajax数据持久化,保证前端用户体验
3.好处
当前端进行数据操作时,不需要改动整个页面,只需要改动DOM需要改的那一部分,不需要刷新整个页面,只刷新需要改动的那一部分。这对移动端来说是很必要的,虽然有很多数据被缓存,但刷新整个页面,DOM,js,css会被重新解析,这会浪费资源。因此,移动端经常做成xpa单页应用。在这个基础上就诞生出许多MVVM框架,像Angular.js,react.js,Vue.js。
Vue.js核心思想
1.数据驱动:DOM是数据的一种自然映射
数据响应原理:数据(model)改变驱动视图(view)自动更新

解析:假设这里有一个数据 a.b,在实例化过程中会通过 ES5 的 object.defineproperty() 添加 getter和setter方法,同时 vue.js 会对模板进行编译,解析生成一个指令对象,这里的指令对象就是 v-text ,每个指令都会关联一个 watcher ,当对指令对应的表达式a.b求值时,就会触发 getter 方法,此时依赖会升级到对watcher中,如果再改变 a.b 的值,就会触发 setter 方法,会通知到关联的 watcher 。watcher 重新求值,比较新旧值,如果值改变,watcher 会通知对应指令,指令调用 update 方法,指令是对DOM的封装,所以会调用DOM原生方法去更新视图。

2.组件化:扩展HTML元素,封装可重用的代码
组件设计原则:
1)页面上每个独立的可视 / 可交互区域视为一个组件
2)每个组件对应一个工程目录,组件所需要的各种资源在这个目录下就近维护
3)页面不过是组件的容器,组件可以嵌套自由组合形成完整的页面

转:https://www.cnblogs.com/enboke/p/8099477.html



推荐阅读
  • 认识Vue关于Vue的描述有不少,不外乎都会拿来与Angular和React对比,同样头顶MVVM双向数据驱动设计模式光环的Angular自然被对比的最多,但到目前为止,Angul ... [详细]
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 1、前端代码需要引入:element.min.cssvue.min.jselement.min.jsaxios.min.js  nuget里面可添加 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 这篇文章给大家讲解如何利用dhtmlxGantt在服务器端集成数据。脚本数据保存如果您已初始化dataProcessor,则用户或以编程方式所做的任何更改都将自动 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有