Vue是什么
Vue是什么,我们可以从Vue的中文网站来了解它。 https://cn.vuejs.org/ 。Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。也就是说Vue是一个前端的框架,可以用来构建页面,包括web以及app。
Vue的优势
对于前端开发人员来说,大家使用过很多的Javascript框架。比如原生的JavaScript,Jquery,angularjs和rectjs等。那么Vue与这些框架相比,它的优势体现在哪里?
- Vue 只关注视图层, 采用自底向上增量开发的设计。Vue关注的是视图层,操作的对象是HTML元素。它是渐进的,没有强主张,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当Angular用;还可以用它的视图,搭配你自己设计的整个下层用。你可以在底层数据逻辑的地方用OO和设计模式的那套理念,也可以函数式,都可以,它只是个轻量视图而已,只做了自己该做的事,没有做不该做的事,仅此而已。
- Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue.js 是一个更加灵活开放的解决方案。它允许你以希望的方式组织应用程序,而不是在任何时候都必须遵循 AngularJS 制定的规则,这让 Vue 能适用于各种项目.在 Vue 中指令和组件分得更清晰。指令只封装 DOM 操作,而组件代表一个自给自足的独立单元——有自己的视图和数据逻辑。
- 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事件。