vue从入门到精通教程(学vue必备哪些基础)

原文地址:
       https://www.cnblogs.com/caolidan/p/7719121.html

1、首先,vue是什么?

我们看官网上的介绍:vue.js 是一套构建用户界面的渐进式js框架。那么什么叫渐进式框架呢?所谓渐进式就是一步一步的用嘛,比如你只想在页面上渲染一些简单数据,那你只用它的核心代码就好。如果你想更进一步用到组件,那你需要用vue的组件系统。如果项目更大,那你需要用到路由啊,构建工具等等。项目需要哪块就用哪块,这样自底向上增量开发的设计,加上与单文件组件和 Vue 生态系统支持的库结合,使得Vue 也完全胜任复杂的单页应用程序,而且上手也很容易了。

2、vue的两个核心点

介绍核心点之前我们先写个小例子吧。

页面中引入vuejs ,可以去官网上下载开发版本,也可以采用CDN方式直接引入

vuejs{{ content }}let data = {
 content:"Hello World!"
 }
 var vm = new Vue({
 el:"#app",
 data:data
 });

   

最好,还是手动敲一遍吧,你就会知道你会犯多少低级错误。在浏览器中查看实例,打开控制台,输入vm.content = "Hi, vue!",回车页面立马输出变为HI,vue! 这说明数据改变,页面也自动改变。那就引出了Vue的第一个核心点——响应式的数据绑定。是不是很AngularJS很像?他两的实现原理不同:

脏值检查(angular.js)

思路:angular.js 是通过脏值检测的方式比对数据是否有变更,来决定是否更新视图,最简单的方式就是通过 setInterval() 定时轮询检测数据变动,angular只有在指定的事件触发时进入脏值检测,大致如下:

  • DOM事件,譬如用户输入文本,点击按钮等。( ng-click )
  • XHR响应事件 ( $http )
  • 浏览器Location变更事件 ( $location )
  • Timer事件( $timeout , $interval )
  • 执行 $digest() 或 $apply()

数据劫持(Vue.js)

思路: vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

具体怎么使用Object.defineProperty()实现响应式数据绑定,可以看这里:
       http://www.jb51.net/article/106484.htm

第二个核心点——组合的视图组件

vue写页面时,我们可以头部一个组件,侧边一个组件,中间内容区域另外一个组件。vue将我们的页面映射为组件树。这样做组件可重用,好处很多。

3、虚拟DOM

首先我们定义的模板(无论是html模板,字符串模板还是render函数定义的模板),编译调用内部的渲染函数(createElement)形成图二的数据结构,经过render生成虚拟DOM树,这个虚拟的DOM树存在内存中,经过内部的编译器最后形成真实的DOM。

那么虚拟DOM有什么好处呢?我们知道运行js很快,但是大量操作DOM就会很慢,我们在更新一个元素的值后,经常要刷新整个DOM,这样造成了资源的浪费。有了虚拟DOM,当某个DOM节点的属性值发生变化后,只更新这一小块的节点,这样大大提高了性能。虚拟DOM这块,还有好多算法,有机会再开博客总结,自己可以先研究一下。

4、MVVM模式

M 代表数据模型,V 视图,VM视图模型。我们从model层拿到数据以后,通过vm层到view视图层进行渲染,vm层帮我们帮数据进行绑定,它就是m层和v层之前的桥梁,把他两联系起来。具体到项目中,我们可以看刚才的实例:

(0)

相关推荐

  • UG8.0从入门到精通教程

    UG是机械设计从业者经常使用额软件之一,如何学习此款软件呢?怎样才能从入门学到精通呢?以下我学习UG软件的,供大家参考. 操作方法 01 第一步,学习草绘.草绘里面的命令全部要熟悉,,包括插入里面的命 ...

  • VUE怎么添加字幕 VUE添加字幕图文详细教程

    VUE怎么添加字幕?现在大家都在用VUE拍摄制作短视频,相信大家都见过别人的视频中添加有字幕,许多人还不知道VUE怎么添加字幕.其实VUE添加字幕很简单,大家可能没有注意到添加字幕的地方.今天小编就为 ...

  • 剪映初学教程(剪映教程入门到精通)

    大家好,我是为你们整理干货的朱古力.今天给大家带来剪映入门到精通教程,提供方式:百度网盘剪映是抖音官方推出的一款手机视频编辑剪辑应用.带有全面的剪辑功能,支持变速,多样滤镜效果,以及丰富的曲库资源.软 ...

  • 火山小视频从入门到精通干货秘籍(一)

    本教程为火山小视频系列教程,会告诉你一步步的从入门到精通的全部过程,这是第一期,本期先教会你如何使用火山,如何赚取第一点火力. 第一节 登陆火山小视频 01 安装. 大家自行安装即可(如果已安装登陆, ...

  • 五天Principle从入门到精通03-动画的基本逻辑

    小编:五天Principle从入门到精通,一起来学习吧- <五天Principle从入门到精通01-简单的Toast动画制作> <五天Principle从入门到精通02-Sketch ...

  • 新手如何通过java自学视频教程入门到精通

    很多人一听java可能觉得很难,但其实只要你多看多思多练也可以学好java,下面小编就来告诉大家新手如何通过java自学视频教程从入门到精通吧 操作方法 01 首先,你需要定好每一个阶段的目标.刚开始 ...

  • 学计算机需要什么样基础

    有很多人不了解学计算机需要什么样基础,那么今天小编就在这里给大家分享一点我的小,希望可以给你们带来帮助. 操作方法 01 首先家里要准备一台笔记本电脑或台式电脑因为这样有便于我们操作,第一个步骤先把电 ...

  • 金山打字通使用指南 从入门到精通详细方法(图文教程)

    今天我们以最经典的金山打字通2010为例给大家介绍一下这个软件的安装方法以及使用方法:/ 下面先给下载的地址:http://www./softs/21054.html一、安装与操作 金山打字通历来都被 ...

  • LOL英雄联盟从入门到精通 最适合新手的教程

    详细看完本攻略并熟记后,排位分数仍没有突破1600本人免费退货~~新手攻略大神莫喷 不喜绕行..小弟不才 请多多指教 操作方法 01 第一章 英雄的了解与分类 其实我个人认为,想要玩好英雄联盟,就得先 ...

  • 最适合新手的经典教程:LOL从入门到精通

    所有内容说的都是很笼统,想一一的解释清楚很难,所以希望大家抱着举一反三的态度来看,详细的深入的思考下,会有百分之200的收获.所有我提到的东西,都是小弟觉得必须掌握的东西,所以大家如果有什么地方觉得写 ...