为什么要学习vue?
程序员文章站
2022-04-24 10:39:16
Vue是什么?来看看官方的介绍。 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类 ......
vue是什么?来看看官方的介绍。
vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,vue 被设计为可以自底向上逐层应用。vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,vue 也完全能够为复杂的单页应用提供驱动。
vue和jquery有什么区别?
- jquery到vue转变是一个思想的转变,是将jquery直接操作dom的思想转变到操作数据上去。
- jquery是使用选择器($)选取dom对象,对其进行赋值、取值、事件绑定等操作,其实和原生的html的区别只在于可以更方便的选取和操作dom对象,而数据和界面是在一起的。比如需要获取label标签的内容:
$("lable").val();
,它还是依赖dom元素的值。 - vue则是通过vue对象将数据和view完全分离开来了。对数据进行操作不再需要引用相应的dom对象,可以说数据和view是分离的,他们通过vue对象这个vm实现相互的绑定。这就是传说中的mvvm。
从代码来看看两者的不同,我们从中可以看出vue只需要向数据message里面push一条数据即可完成添加一个li标签的操作,而jquery则需要获取dom元素节点,并对dom进行添加一个标签的操作,如果dom结构特别复杂,或者添加的元素非常复杂,则代码会变得非常复杂且阅读性低。
jquery代码
<!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> </head> <body> <div id="app"> <ul id="list"> <li>第1条数据</li> <li>第2条数据</li> </ul> <button id="add">添加数据</button> </div> </body> <script> $(document).ready(function() { var i=2; $('#add').click(function() { i++; //通过dom操作在最后一个li元素后手动添加一个标签 $("#list").children("li").last().append("<li>第"+i+"条数据</li>") }); }); </script>
vue代码
<!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <script src="https://unpkg.com/vue/dist/vue.js"></script> </head> <body> <div id="app"> <ul> <!--根据数组数据自动渲染页面--> <li v-for="item in message">{{item}}</li> </ul> <button @click="add">添加数据</button> </div> </body> <script> new vue({ el: '#app', data: { message: ["第1条数据","第2条数据"], i:2 }, methods:{ //向数组添加一条数据即可 add:function(){ this.i++ this.message.push("第"+this.i+"条数据") } } }) </script>
为什么需要使用vue?
近两年前端技术变革速度太快,vue不论针对web项目开发,网站制作,还是app,小程序开发,都越来越流行,其便捷性及易用程度都让你不得不考虑去学习。如果仅仅还是传统的各种cms开源代码建站仿站,显然你的技术已经跟不上了,如果你开发的项目数据交互较多,并且前后端分离明显,那么vue将会使你未来技术长足成长的不二选择。
- 组件化: 其中以 react 的组件化最为彻底,甚至可以到函数级别的原子组件,高度的组件化可以是我们的工程易于维护、易于组合拓展。
- 天然分层: jquery 时代的代码大部分情况下是面条代码,耦合严重,现代框架不管是 mvc、mvp还是mvvm 模式都能帮助我们进行分层,代码解耦更易于读写。
- 生态: 现在主流前端框架都自带生态,不管是数据流管理架构还是 ui 库都有成熟的解决方案。