走进vue.js(一)
走进vue.js(一)
vue.js作为目前最具前景的前端框架之一,既然如此,博主贯彻以往的作风,肯定要捣鼓一番,经过为期半个多月的研究,算是对vue有了深刻的理解与认识,下面分三个章节解开vue.js的神秘面纱。本文旨在帮助大家认识vue.js,了解vue.js的开发过程,并进一步讲解如何通过vue.js构建一个大中型的前端项目。
vue.js的简介
如果现在给一个场景,新学期开学,在学习氛围浓重的教室中,老师点名说:坐在后排戴眼镜的那个男孩看你精神抖擞,似乎有很多话对老师说吧,做个简短的自我介绍,让大家认识下你,机智的男孩一般都这样做:立马把眼镜去掉(没错,博主就是这样做的),然并卵,不得不站起来自我介绍:
我叫vue.js,我是一个构建数据驱动的web界面的框架,我来自国内,我的核心是一个响应的数据绑定系统,这时候,老师发问:"欢迎来到我的班级,告诉我你的目标是什么?答曰:我的目标是实现响应的数据绑定和组合的视图组件,造福千千万万个码农,顿时,班级里掌声一片。
从上面的介绍中,我们不难发现vue.js是一款轻量级的以数据驱动的前端js框架,它与JQUERY最大的不同点在于jquery通过DOM来改变页面的显示,而vue.js通过操作数据来实现页面的更新与展示,下面便是vue数据驱动的概念模型

vue.js主要负责的是上图绿色正方体ViewModel的部分,它在View层(即:dom层)与Model层(即js逻辑层)之间通过ViewModel绑定了DOM Listeners 与Data Bindings两个相当于监听的东西。当View层的视图发生变化时候,Vue会通过DOM Listeners来监听并改变Model层的数据,相反,当Model层发生变化时,它也会通过Data Bindings来监听并改变View层的视图,这样便实现了一个双向数据绑定的功能,也是Vue.js数据驱动的原理。
vue实例

在一个html文件中,我们可以通过script标签引入Vue.js,然后就可以写代码了。上图中我们通过new Vue()构建了一个Vue的实例,在实例中主要包括以下几部分:挂载元素(el)、数据(data)、模板(template)、方法(method)与生命周期钩子(created)等,它们具体表示什么呢?如下
el:表示我们的Vue作用范围,'#app'则是指Vue作用于id为app的元素区域
data:Vue数据对象,data的属性能够响应数据的变化
created:表示实例生命周期中创建完成的那一步,当实例已经创建成功之后将调用其方法。
Vue常用指令

指令说明
1.v-text:用于更新绑定元素的内容,类似于jq的text()方法。
2.v-html:用于更新绑定元素的html内容
3.v-if:用于根据表达式的真假条件渲染元素,如上图如果P3为false则不会渲染p元素。
4.v-show:用根据表达式值得真假条件显示隐藏元素,切换元素的display css属性。
5.v-for:用于遍历数据渲染元素或者模板,如上图中P6为[1,2,3],则会渲染3个p元素,内容依次为1,2,3。
6.v-on:用于在元素上绑定事件,图中在p标签上绑定了showP3的点击事件。
关于更多的vue指令,可以参考官方中文文档。
Vue.js技术栈

以上我们讲到可以直接在一个html页面里通过引入Vue.js来直接写Vue代码,但是这样的方式并不常用。因为如果我们的项目比较大,项目中会存在很多页面,一旦每个页面都引入一个Vue.js或者声明一个Vue实例,这样非常不利于后期的维护和代码的公用,也会存在实例名冲突的情况,所以我们需要用到Vue提供的技术栈来构建强大的前端项目。
除了Vue.js我们还需要用到:
vue-cli:Vue的脚手架工具,用于自动生成Vue项目的目录及文件。
vue-router: Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。
vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象。
ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。
NPM:node.js的包管理工具,用于同一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。
webpack:一款强大的文件打包工具,可以将我们的前端项目文件同一打包压缩至js中,并且可以通过vue-loader等加载器实现语法转化与加载。
Babel:一款将ES6代码转化为浏览器兼容的ES5代码的插件
利用以上等技术,我们便可以开始构建我们的Vue项目了。
下一章节我会通过一个简单的vue项目,告诉大家如何利用vue去开发项目,预知后事如何,且听下回辩解。(一完)
2016年12月11日14:39
走进vue.js(一)的更多相关文章
- 走进Vue.js
走进Vue.js Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解 ...
- 前端开发之走进Vue.js
Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.j ...
- 一天带你入门到放弃vue.js(一)
写在前面的话! 每个新的框架入手都会进行一些列的扯犊子!这里不多说那么多!简简单单说一下vue吧! Vue.js是目前三大框架(angular,vue,react)之一,是渐进式js框架,据说是摒弃了 ...
- 走进Vue时代进阶篇(01):重构电商购物车模块
前言 从这篇文章开始,我准备给大家分享一些关于Vue.js这门框架的技巧性系列文章,正好我们公司项目中也用到了Vue.所以,教是最好的学.进阶篇比较适合于二三线城市,还在小厂打拼的童鞋们.欢迎你们跟着 ...
- 最新vue.js完整视频教程12套
0.1智能社vuejs(1-11章全套) 0.2英文版learing vuejs 0.3Vue.js实战小米阅读开发 0.4走进Vue.js2.0 0.5Vuejs教程45节课 0.6Vue.js+N ...
- vue.js 视频教程
0.1智能社vuejs(1-11章全套) 0.2英文版learing vuejs 0.3Vue.js实战小米阅读开发 0.4走进Vue.js2.0 0.5Vuejs教程45节课 0.6Vue.js+N ...
- 使用 Vue.js 改写 React 的官方教程井字棋
React 的官方教程井字棋很好的引导初学者一步步走进 React 的世界,我想类似的教程对 Vue.js 的初学者应该也会有启发,于是使用 Vue.js 进行了改写 可以先查看最终的结果,尝试点击体 ...
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- Vue.js 2.0 和 React、Augular等其他框架的全方位对比
引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...
随机推荐
- Odoo 二次开发教程(四)-只读、唯一性验证和ORM方法介绍
一.只读和唯一性验证 只读的设置有两种方法,一种是实在字段定义时设置为只读,第二种是在页面视图中进行设置. 接前例,我们将学生(tech.student)的名字name字段设置成只读. 方法一:字段定 ...
- Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/31/KafkaColumn5_kafka_benchmark 摘要 本文主要介绍了如何利用 ...
- 在VisualStadio2015上使用EF6.0建立MySql数据库
1.新建工程 2.建立类的文件夹DAL 3.建立相关类 [Student类] using System;using System.Collections.Generic;using System.Li ...
- Unity小游戏制作 - 暗影随行
用Unity制作小游戏 - 暗影惊吓 最近玩了一个小游戏,叫做暗影惊吓,虽然是一个十分简单的小游戏,但是感觉还是十分有趣的.这里就用Unity来实现一个类似的游戏. 项目源码:DarkFollow 主 ...
- 《.NET之美》消息及勘误
<.NET之美>消息及勘误 编辑最终还是采用了<.NET之美>作为书名,尽管我一直觉得这个名字有点文艺了,而更倾向于使用<.NET专题解析>这个名称. 目前已经可以 ...
- 国内2大Git代码托管网站
可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...
- Disruptor-NET和内存栅栏
Disruptor-NET算法(是一种无锁算法)需要我们自己实现某一种特定的内存操作的语义以保证算法的正确性.这时我们就需要显式的使用一些指令来控制内存操作指令的顺序以及其可见性定义.这种指令称为内存 ...
- PostgreSQL 杂志
pgmag 团队刚发布了头两期 PostgreSQL 杂志,还有中文版http://pgmag.org/download,推荐广大 PostgreSQL 数据库管理员及开发者阅读: Issue #01 ...
- 元素的click与dblclick
JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间,是用户或浏览器自身执行的某种动作.诸如click.load.mousemover,都是事 ...
- JavaScript中闭包之浅析解读
JavaScript中的闭包真心是一个老生常谈的问题了,最近面试也是一直问到,我自己的表述能力又不能完全支撑起来,真是抓狂.在回来的路上,我突然想到了一个很简单的事情,其实我们在做项目时候,其实就经常 ...