Vue介绍及入门案例

1.前言

前端开发模式的发展。

Vue

    • 1.前言
    • 2.认识Vue
    • 3.快速入门
)

静态页面

  • 最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务的到客户端单向流通。开发人员也只关心页面的样式和内容即可。

异步刷新,操作DOM

  • 1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言.
    随着JavaScript的诞生,我们可以操作页面的DOM元素及样式,页面有了一些动态的效果,但是依然是以静态为主。
  • ajax盛行
    • 2005年开始,ajax逐渐被前端开发人员所重视,因为不用刷新页面就可以更新页面的数据和渲染效果。
    • 此时的开发人员不仅仅要编写HTML样式,还要懂ajax与后端交互,然后通过JS操作Dom元素来实现页面动态效果。比较流行的框架如Jquery就是典型代表。

MVVM,关注模型和视图–相当于后端的MVC,但是前端的MVVM比MVC强大**

  • 2008年,google的Chrome发布,随后就以极快的速度占领市场,超过IE成为浏览器市场的主导者。

  • 2009年,Ryan Dahl在谷歌的Chrome V8引擎基础上,打造了基于事件循环的异步IO框架:Node.js。

    • 基于时间循环的异步IO
    • 单线程运行,避免多线程的变量同步问题
    • JS可以编写后台diamante,前后台统一编程语言
  • node.js的伟大之处不在于让JS迈向了后端开发,而是构建了一个庞大的生态系统。

  • 2010年,NPM作为node.js的包管理系统首次发布,开发人员可以遵循Common.js规范来编写Node.js模块,然后发布到NPM上供其他开发人员使用。目前已经是世界最大的包模块管理系统。

  • 随后,在node的基础上,涌现出了一大批的前端框架:
    Vue介绍及入门案例_第1张图片
    MVVM模式

  • M:即Model,模型,包括数据和一些基本操作

  • V:即View,视图,页面渲染结果

  • VM:即View-Model,模型与视图间的双向操作(无需开发人员干涉)

在MVVM之前,开发人员从后端获取需要的数据模型,然后要通过DOM操作Model渲染到View中。而后当用户操作视图,我们还需要通过DOM获取View中的数据,然后同步到Model中。

而MVVM中的VM要做的事情就是把DOM操作完全封装起来,开发人员不用再关心Model和View之间是如何互相影响的:

  • 只要我们Model发生了改变,View上自然就会表现出来。
  • 当用户修改了View,Model中的数据也会跟着改变。

把开发人员从繁琐的DOM操作中解放出来,把关注点放在如何操作Model上。
Vue介绍及入门案例_第2张图片
而我们今天要学习的,就是一款MVVM模式的框架:Vue

2.认识Vue

渐进式:

  1. 我们可以像使用jQuery一样,使用vue
  2. 采用node的方式去使用vue

官网:https://cn.vuejs.org/

参考:https://cn.vuejs.org/v2/guide/
Vue介绍及入门案例_第3张图片

3.快速入门

3.1.创建工程
创建一个maven工程:Vue介绍及入门案例_第4张图片
位置信息:
Vue介绍及入门案例_第5张图片
3.2.安装vue
3.2.1.下载安装

下载地址:https://github.com/vuejs/vue

可以下载2.5.16版本https://github.com/vuejs/vue/archive/v2.5.16.zip

下载解压,得到vue.js文件。
或者也可以直接使用公共的CDN服务:

 <-- 开发环境版本,包含了用帮助的命令行警告-->
 

或者:



3.3.vue入门案例
在vue-demo目录新建一个HTML
Vue介绍及入门案例_第6张图片
在hello.html中,我们编写一段简单的代码:Vue介绍及入门案例_第7张图片
h2中要输出一句话:xx 非常帅。效果图如下所示:Vue介绍及入门案例_第8张图片
3.3.2.vue渲染
然后我们通过Vue进行渲染:




    
    Title
    


 

{ {name}}非常帅

打开页面查看效果:
Vue介绍及入门案例_第9张图片
3.3.3.双向绑定
我们对刚才的案例进行简单修改:

{ {name}} 非常帅, 有{ {num}}位女神为他着迷。

  • 我们在data添加了新的属性:num
  • 在页面中有一个input元素,通过v-model与num进行绑定。
  • 同时通过{ {num}}在页面输出

Vue介绍及入门案例_第10张图片
我们可以观察到,输入框的变化引起了data中的num的变化,同时页面输出也跟着变化。

  • input与num绑定,input的value值变化,影响到了data中的num值
  • 页面{ {num}}与数据num绑定,因此num值变化,引起了页面效果变化。

没有任何dom操作,这就是双向绑定的魅力。
3.3.4.事件处理
我们在页面添加一个按钮:



  • 这里用v-on指令绑定点击事件,而不是普通的onclick,然后直接操作num
  • 普通click是无法直接操作num的。

效果:
Vue介绍及入门案例_第11张图片

你可能感兴趣的:(vue,java)