Vue 学习入门指南

如果你是一名 Vue 开发新手,可能已经听过很多行话术语,比如单页面应用程序、异步组件、服务器端渲染等等,或者还听说过与 Vue 有关的一些工具和库,比如 Vuex、Webpack、Vue CLI 和 Nuxt。

那么究竟什么是Vue,有什么作用?

公众号:代码集中营
每周分享技术文章、优质软件资源

Vue.js是一套用于构建用户界面的渐进式框架,主要用于快速的构建前端界面,与其它大型的前端框架不同,Vue被设计为可以自底向上逐层应用。相比Angular.js来说,Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合,是初创项目的前端首选框架。作为一个新兴的前端框架,Vue.js大量借鉴和参考了Angular.js和React.js等优秀的前端框架。而在版本支持上,Vue.js抛弃了对IE8的支持,对移动端的支持也有一定的要求,也就是说使用Vue.js进行移动跨平台开发时需要Android 4.2+和iOS 7+支持。

image.png

Vue在MVVM模式中,充当的是VIewModel,就是用于处理数据交互与相应

言归正传,要入门Vue需要掌握哪些呐,这是代码君绘制的结构图

结构图.png

根据架构图,我们可以知道Vue架构的搭建需要学会哪些知识!

首先,在学习vue.js的前提是掌握了 html/js/css,这块应该没什么难度,大家很容易就能掌握。
接下来需要掌握ES6, 这是大前提一定要懂,一定要懂,一定要懂, 推荐阅读阮一峰的 ES6入门,基础这里必须掌握,否则也没必要往下阅读,因为没学会走路就想跑,很容易摔倒!

《ECMAScript 6 入门教程》PDF版

ES2015简介和基本语法

一、View 和 Components

View 就是UI界面,实现基本是html+css,当然了,目前也有主流的UI组件库,我们只需要站在巨人的肩膀进行开发,可以更加高效。

移动端UI组件库:有赞出品的 Vant

PC端UI组件库:饿了么出品的 Element

Components 就是组件,你可以这么理解,一个View 可以由多个Components组件构成,比如一个列表页,可以由头部组件+列表组件+尾部组件,构成一个界面,作为新手,组件化可以先放一下,先学会利用成熟的组件库,进行UI开发即可,新手通过现成的UI库,会比较容易快速实现UI界面

二、Router

Vue RouterVue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有:

  • 嵌套的路由/视图表
  • 模块化的、基于组件的路由配置
  • 路由参数、查询、通配符
  • 基于 Vue.js 过渡系统的视图过渡效果
  • 细粒度的导航控制
  • 带有自动激活的 CSS class 的链接
  • HTML5 历史模式或 hash 模式,在 IE9 中自动降级
  • 自定义的滚动条行为

对于新手来说,你只需要知道,路由Router 用来分发请求对应跳转的界面,比如用户访问网址:http://localhost:8088/pageA , http://localhost:8088/pageB,我们需要根据请求路径,通过路由的方式,配置跳转对应的界面

三、Vuex + Store

什么是vuex?Vuex 是一个专门为 Vue.js 应用设计的 状态管理模型 + 库。它为应用内的所有组件提供集中式存储服务,其中的规则确保状态只能按预期方式变更。状态改变了,对应的视图也会改变。

上面比较官方,我举一个具体例子,比如我们写界面需要判断是否登陆,一般是根据token,这个token的状态管理就是用Vuex+Store,存储token状态,然后每次调用接口的时候,取出token数据,如果为空,自动跳转到登陆界面,所以你只需要理解Vuex + Store 用于存储,类似轻量级数据库

四、接口API + Mock

接口API就是网络请求,这里代码君推荐使用 axios
axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

  • 从浏览器中创建 XMLHttpRequest
  • 从 node.js 发出 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防止 CSRF/XSRF

这里新手只需要知道网络请求框架我们用的是axios,后续代码君会出专门文章对 axios 使用进行讲解

Mock专业术语就是数据模拟,有了mockjs,前端工程师再也不用等后端人员开发好之后再测数据了,因为mockjs可以拦截ajax请求,有了mockjs我们可以模拟后台返回数据,以方便的进行一系列的操作。这个新手可以先了解一下概念,后续在网络请求模拟数据的时候会用到,到时候也会专门讲解的

五、Directives

自定义指令,就是除了VUE定义的指令外,还支持用户注册自定义指令,那么你可能会问,什么是vue的指令,我举几个常用的指令,后续你一定会碰见的

  • v-bind指令: 是Vue中,提供的用来绑定属性的指令,只能实现数据的单向绑定,从M自动绑定到V,无法实现数据的双向绑定。
  • v-model指令:Vue中唯一一个实现双向数据绑定的指令, 注意 : 只能运用到表单元素中
  • v-for指令: 用于写循环界面,比如列表页,复用同一个view
  • v-if 和 v-else 和 v-else-if 还有 v-show指令:用于控制界面是否显示,或者瞒住什么条件进行显示
    上面举的例子是比较常用的,这个新手有一个概念就好,自定义指令还用不到对于新手,但是系统定义的那些常用指令,我们必须熟悉哈~

六、Mixins

混入 (mixins): 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。

这个概念官方说的比较绕,我举一个简单的例子,Vue 界面一些公用的东西,比如头部、尾部,不是可以通过Components实现组件化开发,当我们在开发JS代码的时候,如果遇到多个界面执行相同的逻辑代码,是否也可以抽离出来呐?基于这个思考,Mixins就出来了,Mixins相当于js中的组件化,把相同的抽离出来,然后再通过Mixins插入到js里面

那么可能有人会问,抽离出工具类不也可以嘛! Mixins 和抽离出来的工具类有什么差别呐?
工具类只能针对方法进行抽离,Mixins 可以说更加强大,是可以根据生命周期进行抽离的,比如A、B、C界面都需要在创建的时候,验证有没有登陆,就可以在创建的生命周期里面抽离出验证登陆的方法,然后在通过Mixins插入到各个界面里

新手只需要了解 表现层与 API 层,业务层比较深入,可以后面再了解,工具层大家都比较好理解,就是一些常用的时间日期管理工具类、浮点计算等工具类的封装,基础设施层,代码君在下一篇文章,Vue 入门环境搭建 进行讲解!

好了,这次的入门指南就这些,此篇文章是对 Vue 整体的框架进行宏观剖析,就是希望初学者能对 Vue 设计到的知识面有一个宏观的概念,之后代码君会分别对涉及到的知识点依次进行讲解!

下一篇: Vue 入门环境搭建

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342