(Vue)初识Vue

Vue是什么Vue是什么,我们可以从Vue的中文网站来了解它。 https: cn vuejs org 。Vue (读音 vjuː ,类似于 view)

Vue是什么

  Vue是什么,我们可以从Vue的中文网站来了解它。 https://cn.vuejs.org/ 。Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。也就是说Vue是一个前端的框架,可以用来构建页面,包括web以及app。

Vue的优势

  对于前端开发人员来说,大家使用过很多的Javascript框架。比如原生的JavaScript,Jquery,angularjs和rectjs等。那么Vue与这些框架相比,它的优势体现在哪里?

  1. Vue 只关注视图层, 采用自底向上增量开发的设计。Vue关注的是视图层,操作的对象是HTML元素。它是渐进的,没有强主张,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当Angular用;还可以用它的视图,搭配你自己设计的整个下层用。你可以在底层数据逻辑的地方用OO和设计模式的那套理念,也可以函数式,都可以,它只是个轻量视图而已,只做了自己该做的事,没有做不该做的事,仅此而已。
  2. Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue.js 是一个更加灵活开放的解决方案。它允许你以希望的方式组织应用程序,而不是在任何时候都必须遵循 AngularJS 制定的规则,这让 Vue 能适用于各种项目.在 Vue 中指令和组件分得更清晰。指令只封装 DOM 操作,而组件代表一个自给自足的独立单元——有自己的视图和数据逻辑。
  3. Vue 学习起来非常简单.在 API 与设计两方面上 Vue.js非常简单,因此你可以快速地掌握它的全部特性并投入开发。Vue 的整体思想是拥抱经典的 Web 技术,并在其上进行扩展。基于 HTML 的模板使得将已有的应用逐步迁移到 Vue 更为容易。

Hello,Vue

  对于开发人员来说,学习一门语言的第一行代码,多数是从Hello,World开发。使用Vue,首先是要在html页面引入Vue.js文件,引入Vue之后,然后实例化vue对象。Vue的参数是对象,el是Vue需要操作的对象,是一个容器。data可以赋值给Vue绑定的元素。

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title></title>
 6         <script src="js/vue.js"></script>
 7     </head>
 8     <body>
 9         <div id="box">
10             {{message}}
11             </div>
12         <script>
13             //vue实例化
14             //el 绑定html对象,选择器
15             //data:绑定html对象数据,双向绑定。可以用v-model
16             var vm = new Vue({
17                 el:"#box",
18                 data:{
19                     message:"hello,vue"
20                 }
21             });
22             
23         </script>
24     </body>
25 </html>

  

Vue,数据绑定

  Vue的双向数据绑定的原理相信大家也都十分了解了,主要是通过Object对象的defineProperty属性,重写data的set和get函数来实现的,这里对原理不做过多描述,主要还是来实现一个实例。

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script type="text/javascript" src="js/vue.js" ></script>
 7     </head>
 8     <body>
 9         <div id="box">
10             <input type="text" v-model="message" />
11             <br />
12             {{message}}
13         </div>
14         <script>
15             new Vue({
16                 el:"#box",
17                 data:{
18                     message:"test"
19                 }
20             })
21         </script>
22     </body>
23 </html>

  上面的代码通过Vue实现了数据的双向绑定,input的值发生改变,div的text值也会发生改变,通过Vue的v-model指令来实现,v-model指令可以将data中的值绑定给指定的dom对象。如果不使用vue,采用JavaScript事件来事件,我们就需要为input绑定input事件。