Vue在前端开发中需要注意什么
发布时间:2025-05-17 16:36:47 发布人:远客网络
一、Vue在前端开发中需要注意什么
这次给大家带来Vue在前端开发中需要注意什么,Vue在前端开发的注意事项有哪些,下面就是实战案例,一起来看一下。
组件名应该始终是多个单词的,根组件 App除外。
当在组件中使用 data属性的时候(除了 new Vue外的任何地方),它的值必须是返回一个对象的函数。
//在一个 Vue的根实例上直接使用对象是可以的,
在你提交的代码中,prop的定义应该尽量详细,至少需要指定其类型。
//这样做只有开发原型系统时可以接受
props: ['status']4.为v-for设置键值
在组件上_总是_必须用 key配合 v-for,以便维护内部组件及其子树的状态。甚至在元素上维护可预测的行为,比如动画中的对象固化(object constancy),也是一种好的做法。
<li v-for="todo in todos">
</ul>5.避免 v-if和 v-for用在一起
永远不要把 v-if和 v-for同时用在同一个元素上。
一般我们在两种常见的情况下会倾向于这样做:
为了过滤一个列表中的项目(比如 v-for="user in users" v-if="user.isActive")。在这种情形下,请将 users替换为一个计算属性(比如 activeUsers),让其返回过滤后的列表。
为了避免渲染本应该被隐藏的列表(比如 v-for="user in users" v-if="shouldShowUsers")。这种情形下,请将 v-if移动至容器元素上(比如 ul, ol)。
<ul v-if="shouldShowUsers">
</ul>6.为组件样式设置作用域
对于应用来说,顶级 App组件和布局组件中的样式可以是全局的,但是其它所有组件都应该是有作用域的。
这条规则只和单文件组件有关。你不一定要使用 scoped特性。设置作用域也可以通过 CSS Modules,那是一个基于 class的类似 BEM的策略,当然你也可以使用其它的库或约定。
不管怎样,对于组件库,我们应该更倾向于选用基于 class的策略而不是 scoped特性。
这让覆写内部样式更容易:使用了常人可理解的 class名称且没有太高的选择器优先级,而且不太会导致冲突。
<button class="c-Button c-Button--close">X</button>
<button class="btn btn-close">X</button>
<button class="button button-close">X</button>
<!--使用 `scoped`特性-->
</style>二、强烈推荐(增强可读性)1.组件文件
只要有能够拼接文件的构建系统,就把每个组件单独分成文件。
当你需要编辑一个组件或查阅一个组件的用法时,可以更快速的找到它。
ue.component('TodoList',{
Vue.component('TodoItem',{
单文件组件的文件名应该要么始终是单词大写开头(PascalCase)
|- mycomponent.vue3.基础组件名
应用特定样式和约定的基础组件(也就是展示类的、无逻辑的或无状态的组件)应该全部以一个特定的前缀开头,比如 Base、App或 V。
只应该拥有单个活跃实例的组件应该以 The前缀命名,以示其唯一性。
这不意味着组件只可用于一个单页面,而是每个页面只使用一次。这些组件永远不接受任何 prop,因为它们是为你的应用定制的,而不是它们在你的应用中的上下文。如果你发现有必要添加 prop,那就表明这实际上是一个可复用的组件,只是目前在每个页面里只使用一次。
|- MySidebar.vue5.紧密耦合的组件名
和父组件紧密耦合的子组件应该以父组件名作为前缀命名。
如果一个组件只在某个父组件的场景下有意义,这层关系应该体现在其名字上。因为编辑器通常会按字母顺序组织文件,所以这样做可以把相关联的文件排在一起。
|- SearchSidebarNavigation.vue反例:
|- NavigationForSearchSidebar.vue6.组件名中的单词顺序
组件名应该以高级别的(通常是一般化描述的)单词开头,以描述性的修饰词结尾。
|- SettingsCheckboxLaunchOnStartup.vue反例:
|- LaunchOnStartupCheckbox.vue
|- TermsCheckbox.vue7.模板中的组件名大小写
<!--在单文件组件和字符串模板中-->
<!--在单文件组件和字符串模板中-->
<!--在单文件组件和字符串模板中-->
<myComponent/>8.完整单词的组件名
组件名应该倾向于完整单词而不是缩写。
|- StudentDashboardSettings.vue
|- UserProfileOptions.vue反例:
|- UProfOpts.vue9.多个特性的元素
多个特性的元素应该分多行撰写,每个特性一行。
src=""
<img src="" alt="Vue Logo">
<MyComponent foo="a" bar="b" baz="c"/>10.模板中简单的表达式
组件模板应该只包含简单的表达式,复杂的表达式则应该重构为计算属性或方法。
复杂表达式会让你的模板变得不那么声明式。我们应该尽量描述应该出现的是什么,而非如何计算那个值。而且计算属性和方法使得代码可以重用。
//复杂表达式已经移入一个计算属性
normalizedFullName: function(){
return this.fullName.split('').map(function(word){
return word[0].toUpperCase()+ word.slice(1)
fullName.split('').map(function(word){
return word[0].toUpperCase()+ word.slice(1)
return this.manufactureCost/(1- this.profitMargin)
return this.basePrice*(this.discountPercent|| 0)
return this.basePrice- this.discount
var basePrice= this.manufactureCost/(1- this.profitMargin)
basePrice*(this.discountPercent|| 0)
非空 HTML特性值应该始终带引号(单引号或双引号,选你 JS里不用的那个)。
在 HTML中不带空格的特性值是可以没有引号的,但这样做常常导致带空格的特征值被回避,导致其可读性变差。
<AppSidebar:style="{ width: sidebarWidth+'px'}">反例:
<AppSidebar:style={width:sidebarWidth+'px'}>13.指令缩写
都用指令缩写(用:表示 v-bind:和用@表示 v-on:)
:placeholder="newTodoInstructions"
>三、推荐1.单文件组件的顶级元素的顺序
单文件组件应该总是让<script>、<template>和<style>标签的顺序保持一致。且<style>要放在最后,因为另外两个标签至少要有一个。
<template>...</template>
<script>/*...*/</script>
<style>/*...*/</style>四、谨慎使用(有潜在危险的模式)1.没有在 v-if/v-if-else/v-else中使用 key
如果一组 v-if+ v-else的元素类型相同,最好使用 key(比如两个<p>元素)。
</p>2. scoped中的元素选择器
元素选择器应该避免在 scoped中出现。
在 scoped样式中,类选择器比元素选择器更好,因为大量使用元素选择器是很慢的。
<button class="btn btn-close">X</button>
<button>X</button>
</style>3.隐性的父子组件通信
应该优先通过 prop和事件进行父子组件之间的通信,而不是 this.$parent或改变 prop。
Vue.component('TodoItem',{
@input="$emit('input',$event.target.value)"
Vue.component('TodoItem',{
vm.$parent.todos= vm.$parent.todos.filter(function(todo){
<button@click="removeTodo">
应该优先通过 Vuex管理全局状态,而不是通过 this.$root或一个全局事件总线。
state.list= state.list.filter(todo=> todo.id!== todoId)
二、Vue后台管理系统模板推荐
在前端开发领域,Vue.js作为一种流行的框架,已经成为许多开发者手中的必备工具。本文将推荐一些基于Vue的优秀后台管理系统模板,这些模板结合了Element-UI、iview、Bootstrap-Vue、Ant-Design-Vue等流行的UI组件库,提供了丰富的功能和高效的开发体验。
首先,vue-element-admin(63.3k星标)是一个备受瞩目的解决方案,它基于Vue和Element-UI,内置了国际化、动态路由、权限验证等功能,是构建企业级中后台产品的理想选择。其预览效果直观且功能强大。
iview-admin(15.4k星标)是基于iView库的后台管理系统,采用Vue和Webpack4.0+Vue-CLI3.0开发,旨在降低开发成本,提供开箱即用的业务组件。
vue-antd-admin(1.8k星标)则采用了Markdown与Vue的结合,适合专注于内容创作的开发者,同时支持VuePress的预渲染和SPA运行模式。
Ant-Design-Pro(27.5k星标)作为Ant Design体系的衍生,提供了丰富的主题选项和国际化支持,是高质量代码的保障。
vue-manage-system(11.8k星标)是一个多功能后台框架模板,易于定制,支持自定义主题色,适用于多种场景。
vue2-manage(10.2k星标)基于Vue和Element-UI,适用于真实的后台管理系统开发,包含了登录、权限验证等核心功能。
这些模板不仅提供了预览效果,还涵盖了从开源免费到高性能定制化的不同选项,技术栈包括Vue2、Vuex、Vue-Router等。通过这些模板,开发者可以快速搭建后台管理系统,提升开发效率。
三、vue越来越不好用(vue真难)
为什么vue不适合大型项目?
因为Vue是一个基于JavaScript的框架,它的特性包括框架的简单性,易于集成,用户友好性,较少的限制,这些原因已经帮助Vue与Angular和React竞争。实际上,Vue在许多应用方面似乎都不能与Angular和React相提并论,在做大项目的时候通常都不会选择Vue。
因为Vue是一个基于JavaScript的框架,它的特性包括框架的简单性,易于集成,用户友好性,较少的限制,这些原因已经帮助Vue与Angular和React竞争。实际上,Vue在许多应用方面似乎都不能与Angular和React相提并论,在做大项目的时候通常都不会选择Vue。
Vue与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用(SPA)提供驱动。
也就是所谓的响应式数据绑定。这里的响应式不是@media媒体查询中的响应式布局,而是指Vue会自动对页面中某些数据的变化做出同步的响应。
在前端应用,我们是否也可以像编程一样把模块封装呢?这就引入了组件化开发的思想。之后可以进行重复使用。Vue通过组件,把一个单页应用中的各种模块拆分到一个一个单独的组件中,只要先在父级应用中写好各种组件标签(占坑),并且在组件标签中写好要传入组件的参数。
现在的网速越来越快了,很多人派穗家里都是几十甚至上百M的光纤,手机也是4G起步了,按道理一个网页才几百K,而且浏览器本身还会缓存很多资源文件,这就是因为浏览器本身处理DOM也是有性能瓶颈的,尤其是在传统开发中。
Vue通过简洁的API提供高效的数据绑定和灵活的组件系统。
Vue提供了简单却强大的动画系统,当一个元素的可见性变化时,用户不仅可以很简单地定义对应的CSSTransition或Animation效果,还可以利用丰富的JavaScript钩子函数进行更底层的动画处亏羡猜理。
这几天我也是因为一个项目而被迫使用vue,坦白的说vue和传统的网站开发思路不同,导致爱的人爱死,老程序员烦死的现状。
1传统方式:我们做一个网站,首先创建几个文件夹(css、js等等),页面需要用的资源文件,都放到各自的文件夹里。然后创建若干个HTML网页,一个个链接把这些若干网页串起来就OK,网页里需要有什么事件或效果,要么用原生js要么用jqurey,去操作某个dom,实现页面变化。
调试的时候也很简单,如果静态网页,浏览器就可以直接运行调试。asp、jsp、php、.net等动态网站,简单配置一下iis或Tomcat,也就能直接调试。
vue和传统最大的区别就是,vue只有一搏迹念个html页面(也就是入口页面,你也可以理解成主页面),除了主页面之外,其他的页面都是html片段,以.vue为后缀的片段文件存在,用户访问网站的时候,第一次加载完整主页面,后面的点击其实就是变化html片段而已。(和老程序员理解的局部刷新有点像)
所以vue特别适合制作手机端项目,因为它只需要根据用户的点击,加载所需的片段而已。由于不用一页一页请求新网页,所以这种机制会让手机项目运行非常丝滑顺畅。
但优点也是它的缺点,vue项目的特性决定它不适合做网站,稍微有点seo知识的人都明白,这种机制做的网站,机器人是爬不到任何内容的。
vue的部署也是让我很诟病的,部署它需要折腾一大堆事儿。首先需要安装nodejs,你可以暂时把它理解成和iisTomcat类似的网站发布容器。因为只有在nodejs下才能调试vue脚手架项目。
nodejs装完,然后在cmd命令行下,通过npm命令安装一大堆各种库插件。
这一堆事儿折腾完,你就可以通过一个命令创建一个vue脚手架,然后开始你的项目开发之旅。
很多老程序员被“vue脚手架”这个词搞得云里雾里,简单的说:上面折腾一大堆,就是为了最后敲一个命令,让系统帮你在指定位置创建一组文件夹,然后vue能用上的各种js(百十多个吧)组件都放在这各个文件里,供你开发时候调用。
对比你之前的操作,相当于:你建好文件夹,在js文件夹里放好jqurey,和你常用的js。
所以这套步骤,开始让我很不习惯,可能很多老程序员也不习惯。会让你有种“为了做个小项目,先要部署一套大工厂的感觉”。
很多老程序员其实都是做小基困项目出身的草根,什么百万千万的迸发、什么团队协作、前后端分离等话题,不是这类程序员关心的。他们往往即是美工也是程序员,即是前端也是后端。几乎都是以快速交付项目为第一初衷,不想为了个环境来回折腾。所以一时间适应不了vue开发模式。
另外如果你的项目,定制化程度较高。我个人还是建议采用独立html的传统方式开州液发。
如果是移动端开发,vue的确是最佳选择。顺便提一下,vue和小程序几乎是一摸一样的套路,会一个两个就都会了。
我也是花了2天时间,从排斥到接受的。目前用着还不错。
使用框架并不会让你的技术变菜,相反,框架能够让你更加方便、快速的实现某些功能。
框架的出现,使开发变得更加简单,设想,如果vue没有nodejs的支持,你还会去使用吗?各种依赖,各种配置,统统需要你自己手工构建,你会把大量的时间花费在无用的地方,而忽略了你所需要实现的也许需求。
如果你感觉使用各类框架导致你的能力降低了。那只能说你自己的能力还有待提高。
提升你的技术不一定要会很多编程语言,需要去了解思想。那么在使用vue的时候,有没有思考过,vue为什么要这样设计,这样设计有什么优势,如果是我,我会怎么设计。
如果你专注于前端开发,那你可以尝试自己去实现一个vue,当做你的技术提升。
反问提问者一个问题,你在使用jquery后,有没有感觉你的技术下降了?
我就是写框架造轮子的,框架的出现的确会让程序员能力减弱,变成框架操作员,例如springjava的出现,使得后台开发人员不需要知道epolltcp底层原理,不需要知道条件变量信号量共享内存怎么实现进程间通信。但是框架是我们开发效率更好,题主可以反向思考javac的出现降低了我们对计算机底层指令的理解,我们为何不用汇编编程?不要太在意技术本省能达到目的就是好技术。
大家要记住:互联网和建筑一样,程序员和水泥工都只是这个行业的底层人员。我们在追求技术的时候想想水泥工在外人面前比砌砖技术的场景,就不会死揪不放了。
vue是前端三大框架之一。在日常的开发工作中,能便于我们快速搭建前端框架,快速的启动项目进入细节开发。当用的时间长了以后,你会更加的依赖框架。
我们都知道人生的境界有三层:第一层看山是山,看水是水;第二层看山不是山,看水不是水;第三层,看山还是山,看水还是水。跟着人生的境界一样,其实你已经达到了第二层境界。
这个境界都是新手。这时候可能你只知道HTML,CSS和js。根本都不知道后面的框架,所以这个时候需要自己徒手搭建框架,徒手写页面路由,手动完成页面自适应等。这时候恐怕页面的一个轮播图,都够自己费脑子的,得花上一天或者更多的时间写好这个轮播图。
这个阶段就相当于你小时候学走路的阶段,只有当你学会这个走路,才会后有后面的奔跑跳跃的动作。记得当时我学习前端的时候,在这个第一个阶段,很是苦恼,为什么我一个简单的页面,要花费很长的时间去写,花费很长的时间去写一个组件,一个下拉框,一个三级菜单栏。等我过了这个阶段就豁然开朗了。
二,应用框架,插件,快速开发。
走过了第一个阶段,渐渐的接触到了应用框架,和一些组件。就拿这个vue来说,可能轻轻松松十几分钟就能启动一个项目,当初在第一个阶段来说,可能花两三天去搭建项目。
然后很多组件也不需要自己写了,有丰富的前端UI组件,什么轮播图,页面自适应布局,各种各样的按钮,生拖硬拽就行了,分分钟搞定。
这个时候的工作就进入了一个舒适区,也达到了一个自我满足的状态,殊不知在这个境界里,稍有不慎,你可能就废在这里了。还有第三重境界在等着你。
到了这里,可能有人会问,这里也是从能开始,为什么和第一重境界不一样?
那确实是不一样,过了第二重境界,为什么要回到从零开始呢?这里不是一种倒退,而是一种进步。在第二个阶段,你的生拉硬拽。你会发现已经不能满足你的开发工作了。因为在这里的很多开发都是被局限在这些框架里了,如果你想创造不一样的样式,就需要你从零开始徒手造轮子。
你需要用原生的底层的东西,去造属于你自己的东西,去写一套你自己的框架,自己的组件。你所写的这些东西都属于你自己独有的,不再和别人一样都是千篇一律的东西。
当然,这第三层境界也并不是那么容易达到的,有的人需要花费三五年,有的人则需要花费数十年。
所以说当你熟练运用这些框架以后,你发现自己的编程能力变弱了,这正是在告诉你,需要学习更多的东西,以便于你能够顺利的达到开发的第三种境界。
Vue就是一个把问题搞复杂的东西让你忘记你出发的目的是什么。面试的时候,我遇到精通vue直接pass,这种人毫无用处
vue世界都是组件,现在编程,闭门造车时代已经过去了,我们就是更方便实现功能就好了。类比于制造业,不能说我要做汽车,还要先去挖矿炼铁和种植橡胶,下降的是不需要的能力,例如挖矿能力和耕地能力。什么框架能提高我们效率就死好框架。
你怎么就是意识不到呢?让你能力下降的是你的懒惰和缺乏学习欲望还没有深究的习惯,而不是一个优秀的框架,框架制造出来的初衷是为了提高生产效率,降低开发人员的压力,提高开发人员的幸福感,唯独跟帮你提高自己的编程水平没有任何直接联系。对于已经水平够好的人,他有资格让自己的工作变得开心一些,甚至他们通过自己开发很多优秀的工具框架来实现这个目标,但是水平还比较菜的人没有这个资格,除非他们不想进步。因此,你这个问题非常缺乏逻辑,如果拥有了一把枪让你的搏击能力下降,那是你的问题,不是枪的问题;如果拥有了汽车让你的运动能力下降,那也是你的问题,不是车的问题。你可以坦然接受这种下降并且不认为这是什么坏事情,但请不要让一个工具替你背锅!
不是vue让你能力下降,是你本来就能力弱。很多人学vue都是一知半解,做个简单的增删改查就觉得自己精通了,连html,css,js基础都是速成的,没掌握好,就捡起vue这样的框架了,没有现成的组件库,啥也不会写。vue不是要代替这些基础技能,是为了给有能力的人提供更方便的工具。还有人喷jquery过时了,怕是他们连vue和jquery的本质区别都搞不清楚,适合的场景也不知道。不是vue让人能力下降了,是你根本就没有接触到复杂需求,或者说因为你能力弱,所以根本就不会给你接触复杂需求的机会
这个问题就好比用了jquery感觉对原生js的理解越来越浅,框架和库都是为了帮助我们提高开发效率的,往往会让我们忽略本质的技术这才是问题所在,所以用的时间长了当你丢下库和框架的时候你会发现都不会写代码了
vue为什么停运了
vue停运的原因:
不管做产品还是做服务,做硬件还是做软件,是在互联网还是传统行业,最核心比拼的是用户体验。
VUEVLOG在早期转型期间是想打造一款简单上手的视频剪辑软件,但随着“剪映”的崛起,其在体验上确实打不过剪映,剪映的软件功能相比于VUE更加强大,也更容易上手,推出的一些表情包和模板也被抖音平台带火,用户可以直接一件套薯敬用,而且完全不收费,在用户体验这一点上VUE落入下风。
从获客成本上来说,VUE也落入下风。抖音用户数量8亿,如此强大的用户量,抖音稍微给剪映导点流量,就够剪映活下去了。微信虽然也手握巨大流量,但视频号现在并没有完全做起来,而且视频号还推出了自己的剪辑软件“秒剪”,完全没看到有在给VUE导流的地方,这就导致数早慎了VUE获客成本也大大高于剪映这类平台。
大家搞视频,无非是想上传抖音、西瓜视频、B站、小红书等类似平台,以达到吸粉,获取流量变现的目的。抖音推出的剪映,连接了抖音、头条、西瓜这三个平台,直接输出分享一条龙,相比于VUE的自己的社区,抖音、西瓜的受众面肯定更广。
VLOG的选题同质化很严重,而且范围很有限,无非是记录日常生活,美食、旅行等。作品很难保持长时间的高质量更新。题材有限,受众也就很难放大。除非像明星本来就有很大的粉丝群体,不然一个新人很难做起来。
长视频变现模式是会员+广告,短视频是电商+广告,国外VLOG的背后,有着成熟的商业变现模式。以Youtube为例,当一个创作者的睁配频道达到一定规模,Youtube便会为其开通广告增值服务,据估算,当Youtuber的订阅量达到十万级别及以上,基本的生活就能够得到保障。除了平台分成还有产品推广、卖周边等等。
对于国内的VLOG来说,他们的收入最主要的还是广告,当然打赏、礼物也能做一些补充。不过对于一般创作者来说,拿到商业广告并非易事。对品牌来说,短视频效果来的更快。创作者赚不到钱就很难坚持下去,单纯靠爱发电是很难把用户量做上去的。平台也没有能力一直向创作者输血,总体而言,VLOG的造血能力不足。
平时在使用软件的过程中,会产生一些垃圾文件,如果长时间不清理会导致手机越来越卡,也会出现闪退状况。
进入设置–应用程序——全部——找到有问题的应用程序,清除数据或者缓存。(注:清除数据,会清除掉应用的个人设置、账户信息等。)
如果不进行设置,很多软件都会自己运行,而手机后台程序过多会造成内存不足,从而造成应用闪退。如出现软件闪退,可先清理内存后再试试。
部分手机软件存在着恶意代码,会被杀毒软件拦截因而不能正常进入,应该通过绿色下载平台或者使用软件商店来下载安全系数较高的游戏。
(注:以上三个原因都现在都可以通过安全软件清理,轻松解决。但需要注意在删除一些大型文件时请谨慎。)
如果应用的版本较低,会导致应用软件不兼容,造成闪退。如果是版本太旧,更新为新版本即可。
如新版本如果出现闪退,是应用改版本还在调试中,无需担心,会很快修复。
乱没部分软件需要一个稳定的网雀派络,使用的是2G/3G网络,造成闪退的可能性比较大,建议在有WiFi的情况下玩比较好。
一些大型游戏需要数据包才能运行。所以要先安装好数据包才能使用。
部分软件对版本有一定的要求,如果系统版本过低,软件是不能支持的,所以会闪退。
一些软件对手机分辨率有一定的要求,如果手机分辨率不兼容,有部分软件就容易出现闪退或其它错误。
在Vue应用程序中,可能会出现微信浏览器卡顿的情况。这通常是由于以下原因之一:1、JavaScript代码执行缓慢。当JavaScript代码执行时间过长时,会导致浏览器出现卡顿现象,影响用户使用体验。解决办法是对代码进行优化,例如通过减少代码执行时间、使用异步加载和延迟加载模块等方法,以更快地加载和执行JavaScript代码。2、DOM操作太多。操作DOM元素过多也会导致微信浏览器出喊首现卡顿现象。解决办法是减少DOM操作的次数,例如将多次操作合并为一次、使用虚拟DOM技术等方法来优化DOM操作。3、过多的重绘和重排。当对页面进行样式或迅渗槐布局更改时,会导致浏览器重新计亩友算页面样式和布局。如果样式或布局更改次数过多,也会导致浏览器出现卡顿现象。解决办法是尽量减少页面样式和布局的更改次数,例如使用CSS3动画和变换等方法来减少刷新次数,以及使用如Flexbox等的布局技术来优化页面布局。4、性能问题。性能问题也是可能导致微信浏览器卡顿的一个原因。在处理大量数据或在复杂应用中,可能需要优化Vue应用程序的性能。解决方法可以通过优化组件、减少不必要的计算、使用Vue的keep-alive指令等来提高性能。总之,微信浏览器卡顿的原因可能是多种多样的,需要通过综合考虑来确定问题的根本原因,并根据具体情况选择相应的解决方法进行优化,以提高用户使用体验。
Vue可能在国内已经是国人的标配了吧,因为Vue之前没有设配typescript的原因,所以我一直也就看了看Vuecli创建出来的es6babel版本用了一下。可是发现提示什么的完全不能和React的typescript版本的好用。而且@types团队也对React的库进行很友好的跟进。空前
随着Vue2.5和Vue-cli3.0的发布,Vue也开始可以支持亩亏裤Typescript了。于是开始使用了一下国人认为最好的好前端库。不过在使用的过程工,我发现Vue并没有在React上使用的方便。主要还是存在提示这个方面吧。
在React的typescript版本中你的组件定义必须要有两个接口来定义这个接口来管理Props和State
而在Vue中(这里以element-ui为例子)
提示的东西没有没有我想象中的友善,也就是说。我做这个项目几乎要看着element-ui才能完成,并不想antd[typescript]那种,只要看过一次,记住某些单词,下次选择就好的样子。
路由方面,React-router也更新到4了,在这个版本迅简的路由可以说是自由度非常高。因为项目大了起来后,参与的人就多了,如果还是用以前的Router3的版本来管理路由的话,路由和组件的解耦性就非常差。
而Vue-router依然才用久版本来管理,也就是React-router3的语法
最大的区别使用就在于路由的件套使用中你会很明显的体验到。
如果你的项目打算使用Typescript的话,建议是不要的,因为很多你以前使用有关Vue的第三方插件,几乎没有@types这个团队的支撑,你还要自己学着怎么写*.d.ts文件来声明变量文件。
Vue上手还是很快的,那些说React上手很难的,我是不太明白我是有点不太明白,那些说React难的是否真的使用React有3天以上。还是说因为国情问题,赶工!!!所以就去看了一下Vue。哦原来是这样。2个小时是学了某个功能,然后就说自己会的那种。
如果对接的公司不会使用React的话,我想我可能也不会今天来使用Typescript写Vue,得出的一个体验是,用Typescript写Vue体验并没有ng框架和React库提供Typescript来管理项目的好。
React和Ng更新Java那种麻烦但人多参与可控的语法