毕业到现在大概4个月了,从java开发慢慢转到前端开发(其实是因为公司前端人不够),然后开始接触vue。所以我也只是一只小菜鸟。
首先附上vue的官网:vue官网
然后附上一些常用的vue框架,组件之类的资源库Awesomes资源库。
Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。
首先谈谈我对Vue的理解,vue是一个渐进式框架。对“渐进式框架”我的理解大概就是:
1.你在使用的时候只需要对vue提供的内容做加法。当你只是想实现一个简单的双向绑定的时候,你可以只使用vue关于data(){}这部分的内容。你可以简单的把它当成一个js库,来保证在最大限度上不改动源代码的基础上,使用它的特性。
2.进一步你可以直接用Vue来管理页面,这样你就不用去操作DOM了,把DOM的操作全交给vue底层去实现,把一些公用的部分抽出来做成组件,比如menu,list,input,alert,这样代码的简洁性和可复用性会得到提升,一方面会减少你编写重复的代码,另一方面你的关注点从jq的DOM操作,变成数据驱动DOM变化。你可以很方便的使用v-if,v-show,v-bind:class这些指令绑定变量来控制DOM如何变化,渲染还是不渲染,显示还是不显示,该怎么显示。通过变量的变化来驱动DOM的变化。
3.经过学习和使用,你渐渐发现vue还可以具有路由功能,实现前端页面的路由(vue-router);然后发现在一些复杂应用中有很多组件的状态同时依赖于某一个或多个变量,这时候我们就可以把该变量抽离出来,通过vuex做状态流管理;做到这里jq所能做的基本功能都能实现了,那么vue又如何与后台进行数据交互呢,官方推荐使用axios库。
所以我觉得这个渐进可以从多个维度去看待,从开发上,我们可以很轻松的从传统的html开发转到vue开发,可以一个节点一个节点的去靠近它。从使用上,我们不是一个很大的全家桶,然后一点一点的裁剪他的功能,使其符合我们的预期,而是做加法,把某几个很小的功能加成一个符合我们预期的功能(可能这就是自底向上增量开发?)。最后从vue页面来说,我们实现一个页面其实是多个组件的组合,我们可以通过<route-view>来控制页面哪个部分是应该被路由的,页面的可复用性和方便性会得到很大提升,对于页面而已,一个页面其实是多个组件渐进的结果。
因为我前端基础比较薄弱,就不一开始给各位大刀阔斧的讲什么vue的底层实现(其实我也讲不明白)。首先还是从怎么搭建一个vue页面开始。
1.直接下载并用 <script>
标签引入,Vue
会被注册为一个全局变量。(这样子用起来的时候好像要麻烦一点点)
2.通过vue-cli官方脚手架来快速搭建一个大型单页项目。
以上见解有些偏差和错误之处,还请各位指教。