走进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是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...
随机推荐
- js中的navigator对象
Navigator 对象包含有关浏览器的信息.所有浏览器都支持该对象 在控制台中输出相关信息的代码 <script> console.log(navigator); </script ...
- 内存不足时,调用ajax报的错
在error中遍历出来的异常 很难见
- Mysql的用户名密码设置方法
方法如下: 1, 关闭mysql服务 /etc/init.d/mysqld stop 2,使用 –skip-grant-tables选项启动mysql服务,可以修 改/etc/inin.d/mysql ...
- Delphi中stringlist分割字符串的用法
Delphi中stringlist分割字符串的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 1.CommaT ...
- weblogic 12c web部署注意的问题
废话不多说下面讲介绍他的具体部署web应用,应该注意哪些问题. 准备工作: Java JDK 安装及环境配置 http://jingyan.baidu.com/article/ff41162596a7 ...
- FizzBuzzWhizz游戏的高效解法
最近比较火的一道题(传送门),看见园友们的谈论(传送门1 传送门2),都是从1到100的扫描,我想说说的另一种想法. 可以把这道题转换成给100个人发纸牌的游戏,每人所报的就是纸牌上写的东西. 纸牌发 ...
- (转载)H.264码流的RTP封包说明
H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...
- 【实战Java高并发程序设计6】挑战无锁算法:无锁的Vector实现
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- 利用history实现无刷新跳转界面
看标题是不是感觉很拽的样子,其实没什么啦,也就是时下常说的单页面应用.这种web形式在如今的移动端十分流行,毕竟在移动端频繁得去刷新界面不是很友好,而且还费流量.今天我们要做一个小的app(移动端), ...
- Hadoop学习笔记—19.Flume框架学习
START:Flume是Cloudera提供的一个高可用的.高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地.这里的日志是一个统称,泛指文件.操作记录等许多数据. ...