当前位置:首页 > 数码 > 的七大罕用-Vue-组件-摸索-UI-3 (七种罕见病是什么病)

的七大罕用-Vue-组件-摸索-UI-3 (七种罕见病是什么病)

admin8个月前 (04-14)数码34

引见:

由于我在上班的公司中角色和职责的变动,作为后端开发人员的我在去年年底选用了Vue.js。当我深化钻研时,我发现Vue.js十分幽默。它不像Angular那样有很高的学习曲线,而且比React更轻量和灵敏。

Vue.js相对是一个用于构建用户界面的弱小Script框架。为了创立具有视觉吸引力的交互式用户界面,兼并UI组件十分关键。

在这篇文章中,我将引见我在上班中经常经常使用的7个UI组件。我还将引见它们的目标、实施示例和事实生存中的用例。

UI组件的关键性

UI组件在Vue.js开发中施展着关键作用。经过将复杂的接口合成为模块化、可重用的组件,开发人员可以创立可裁减且高效的代码,更易于保养和缺点扫除。

此外,兼并UI组件还可以改善用户体验和界面分歧性,由于用户将在不同的页面或运行程序中取得相熟的体验。

Vue.js7个最罕用的UI组件

1.按钮组件

按钮经常使用户能够与运行程序交互。在网站上看不到按钮简直是无法能的。它或许是最便捷的组件之一,但其用途却并非如此。这是网站的召唤性用语。因此,请细心理考如何使其锋芒毕露,如何处置不同的形态以及如何经常使用它来验证某些操作。

事实名目中的示例:注册表单的提交按钮、电子商务网站上的减少到购物车按钮。

这是一个便捷的例子:

<template><button>{{props.title||'AddToCart'}}</button></template><scriptsetup>constprops=defineProps(['title']);</script><style>button{color:#4fc08d;}button{background:none;border:solid1px;border-radius:1em;font:inherit;padding:0.65em2em;}</style>

展示:

2.表单组件

表单用于搜集Web运行程序中的用户输入,并且可以针对不同的输入类型(文本、电子邮件、明码等)启动自定义。在网站上很难不看到表单。验证、步骤或指南等元素关于改善表单填写体验大有协助。

事实名目中的示例:用于注册、咨询或登录的用户输入表单。

<template><div><form><div><label>FirstName</label><inputv-model="firstName"/></div><div><label>LastName</label><inputv-model="lastName"/></div><div><Button@click="onSave"/></div></form></div></template><scriptsetup>import{ref}from"vue";importButtonfrom"https://codepen.io/terawuthth/pen/poqRJvZ.js";constfirstName=ref("");constlastName=ref("");constonSave=()=>alert("Save!!");</script><style>form{display:flex;flex-direction:column;}.form-iteminput{margin-left:20px}.form-item{margin-top:20px;}</style>

展示:

3.卡片组件

卡片用于以视觉上吸引人的形式组织和显示信息。当初,卡片组件十分经常出现,尤其是在社交媒体网站上。虽然卡片组件以一种好看且洁净的形式出现信息,但必定小心不要在卡片上搁置太少数据。

事实名目中的示例:网站上的资讯文章卡、社交媒体资料卡。

<template><div><div><img:src="product.image"/></div><div><div><h3><a:href="product.link">{{product.name}}</a></h3></div><div><av-for="tagintags":href="tag.link"><span>{{tag.name}}</span></a></div></div></div></template><scriptsetup>import{ref,reactive}from"vue";consttags=ref([{link:"#",name:"notebook"},{link:"#",name:""}]);constproduct=reactive({name:"Domino",image:"https://picsum.photos/id/2/250/200",link:"#"});</script><style>.card{width:250px;height:300px;border:1pxsolid#dedfdf;border-radius:10px;}.card:hover{border:2pxsolid#adaeae;box-shadow:2px2px#adaeae;}.card.img-product{height:60%;margin:0;}.card.img-productimg{height:200px;width:100%;}.detail{height:40%;padding:10px;display:flex;flex-direction:column;justify-content:start;align-items:start;}.taga{font-size:12px;color:black;background-color:#dedfdf;padding:08px08px;border-radius:20px;text-decoration:none;}.taga:not(:first-child){margin-left:8px;}.detaila{color:black;text-decoration:none;}.detail.taga:hover{color:#fff;background-color:#fc6969;}.detail.titleh3:hover{color:#fc6969;}</style>

展示:

4.导航组件

导航准许用户导航到运行程序内的不同局部或页面。大少数网站至少有1个菜单。菜单关于疏导用户十分关键,但太多菜单或不正确的菜单分组或许会造成凌乱。

事实名目中的示例:公司网站的导航栏、餐厅网站的菜单。

<template><div><av-for="menuinmenuList":class="{active:menu.name===activeMenu}":href="menu.link">{{menu.name}}</a></div></template><scriptsetup>import{ref}from"vue";constactiveMenu=ref("menu1");constmenuList=ref([{link:"#",name:"menu1"},{link:"#",name:"menu2"},{link:"#",name:"menu3"}]);</script><style>body{margin:0;padding:0;}.nav{overflow:hidden;background-color:#333;}.nava{float:left;color:#f2f2f2;text-align:center;padding:14px16px;text-decoration:none;font-size:17px;}.nava:hover{background-color:#ddd;color:black;}.nava.active{background-color:#04aa6d;color:white;}</style>

展示:

5.模态组件

模态框用于在关键内容之上的弹出窗口中显示内容。它十分适宜在不进入新页面的状况下显示无心义的信息。虽然它可以让用户专一于特定的中央,但它或许会让人厌烦。一个例子是广告形式。

事实名目中的示例:登录或注册弹出窗口、确认信息。

<template><div><Button@click="showModal"/><div:style="{display:modalDisplay}"><div><span@click="closeModal">×</span><p>{{content}}</p></div></div></div></template><scriptsetup>import{ref}from"vue";importButtonfrom"https://codepen.io/terawuthth/pen/poqRJvZ.js";constmodalDisplay=ref("none");constcontent=ref("SometextintheModal..!!");constshowModal=()=>{modalDisplay.value="block";};constcloseModal=()=>(modalDisplay.value="none");</script><style>.modal{position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4);}.modal-content{background-color:#fefefe;margin:15%auto;padding:20px;border:1pxsolid#888;width:80%;}.close{color:#aaa;float:right;font-size:28px;font-weight:bold;}.close:hover,.close:focus{color:black;text-decoration:none;cursor:pointer;}</style>

展示:

6.警报组件

警报提供反应并通知用户无关运行程序中的关键信息或事情。警报是一种十分有用的形式来反应用户而不打扰他们。但我们应该思索何时经常使用一段期间后隐没的警报或何时须要用户封锁警报。

事实名目中的示例:付款或买卖的成功或失误信息、站点保养通知。

<template><div:style="{display:alertDisplay}"><spanclass="closebtn"@click="closeAlert"onclick="this.parentElement.style.display='none';">×</span>Thisisanalertbox.</div></template><scriptsetup>import{ref}from"vue";constisAlert=ref(true);constalertDisplay=ref("block");constcloseAlert=()=>(alertDisplay.value="none");</script><style>.alert{padding:20px;background-color:#f44336;color:white;margin-bottom:15px;}.closebtn{margin-left:15px;color:white;font-weight:bold;float:right;font-size:22px;line-height:20px;cursor:pointer;transition:0.3s;}.closebtn:hover{color:black;}</style>

展示:

7.头像组件

头像是代表运行程序中用户的图标或图像。它们经常使用户帐户愈加共性化并且易于用户识别。

但是,并非一切系统都须要用户帐户具有图标或图像。假设用户不上行它们,我们应该提供自动图像或经常使用他们名字的首字母以提供更好的用户体验。

事实名目中的示例:社交媒体网站或聊天运行程序上的用户团体资料。

<template><div><img:src="imgPath"/></div></template><scriptsetup>import{ref}from"vue";constimgPath=ref("https://picsum.photos/id/866/50/50");</script><stylescoped>.avatar{vertical-align:middle;width:50px;height:50px;}#img-avatar{border-radius:50%;}</style>

展示:

留意:您可以在此地址:中找到7个UI组件汇合的代码。

优势和留意事项

在Vue.js开发中经常使用这些UI组件的好处包含:

但是,思索一些限度或缺陷也很关键,例如,由于页面上有少量组件而造成的潜在性能疑问,或许须要超出预构建组件提供范畴的自定义。因此,在经常使用预构建组件和定制代码之间取得平衡十分关键。

我对后端开发的认识

就我而言,我来自经常使用Node.js(基于JavaScript)的后端开发。我不用同时学习新言语和新框架。

此外,Vue.js文档激励新手经常使用函数式编程准则(例如CompositionAPI)启动开发。雷同,激励后端开发人员尽或许经常使用这个概念,从而使向前端开发的过渡变得更容易。

论断

Vue.js是一个用于开发引人入胜的用户界面的弱小工具,兼并UI组件可以将您的名目优化到一个新的水平。这些只是我团体对7个最罕用UI组件的认识,开发人员可以创立用户青睐的可裁减、高效且具有视觉吸引力的界面。

作为一个刚接触Vue.js的后端开发人员,我还有很多物品须要学习。宿愿经过火享我的阅历旅程,可以激励任何有兴味学习和裁减对Vue.js中UI组件开发的了解的人。


vue插件都有哪些UI组件和框架,能告诉我一下吗?

element - 饿了么出品的Vue2的web UI工具套件mint-ui - Vue 2的移动UI元素iview - 基于 Vuejs 的开源 UI 组件库Keen-UI - 轻量级的基本UI组件合集vue-material - 通过Vue Material和Vue 2建立精美的app应用muse-ui - 三端样式一致的响应式 UI 库vuetify - 为移动而生的Vue JS 2组件框架vonic - 快速构建移动端单页应用vue-blu - 帮助你轻松创建web应用vue-multiselect - 选择框解决方案VueCircleMenu - 漂亮的vue圆环菜单vue-chat - vuejs和vuex及webpack的聊天示例radon-ui - 快速开发产品的Vue组件库vue-waterfall - 的瀑布布局组件vue-carbon - 基于 vue 开发MD风格的移动端vue-beauty - 由vue和ant design创建的优美UI组件bootstrap-vue - 应用于Vuejs2的Twitter的Bootstrap 4组件vueAdmin - 基于vuejs2和element的简单的管理员模板vue-ztree - 用 vue 写的树层级组件vue-tree - vue树视图组件vue-tabs - 多tab页轻型框架

助你上手Vue3全家桶之Vue3教程

这些内容是博主在学习过程中记录下来的,有一些不重要的点就跳过了,需要时自行查询文档。其实 V2 到 V3 的学习成本不高,熟悉 V2 的话,看完这篇文章就可以上手 V3 。

Vue3官网

在线源码编译地址

setup 是所有 Composition API 的容器,值为一个函数。组件中所用到的数据、方法等等,均要配置在 setup 中,它会在 beforeCreate 之前执行一次,注意: V3 里 this 不再是指向 Vue 实例,访问 this 会是 undefined

尽量不要与V2配置混用

V2 配置( data 、 methos 、 computed ...)中可以访问到 setup 中的属性、方法。 但在 setup 中不能访问到 V2 配置( data 、 methods 、 computed ...)。 如果有重名,setup 优先。

setup不能是一个async函数

因为返回值不再 return 的对象, 而是 promise , 模板看不到 return 对象中的属性。(后期也可以返回一个 Promise 实例,但需要 Suspense 和异步组件的配合)

使用 ref 可以创建一个包含响应式数据的引用对象(reference对象,简称ref对象),可以是基本类型、也可以是对象。

语法

定义一个对象类型的响应式数据,内部基于 ES6 的 Proxy 实现,通过代理对象操作源对象内部数据进行操作

语法

与 V2 中 computed 配置功能一致

语法

与 V2 中 watch 配置功能一致,语法有点改动

语法

和 watch 的区别是, watch 既要指明监视的属性,也要指明监视的回调。而 watchEffect ,不用指明监视哪个属性,监视的回调中用到哪个属性,那就监视哪个属性,不用写返回值。

语法

生命周期全都写在 setup 中

创建一个 ref 对象,其 value 值指向另一个对象中的某个属性

语法

将响应式对象转换为普通对象,其中结果对象的每个 property 都是指向原始对象相应 property 的 ref

语法

组件

只处理对象最外层属性的响应式(浅响应式)。适用于:一个对象数据,结构比较深, 但变化时只是外层属性变化

语法

只处理基本数据类型的响应式, 不进行对象的响应式处理。适用于:一个对象数据,后续功能不会修改该对象中的属性,而是生新的对象来替换

语法

让一个响应式数据变为只读的(深只读),应用于不希望数据被修改时

语法

让一个响应式数据变为只读的(浅只读),应用于不希望数据被修改时

语法

将一个由reactive生成的响应式对象转为普通对象,对这个普通对象的所有操作,不会引起页面更新。

语法

标记一个对象,使其永远不会再成为响应式对象,有些值不应被设置为响应式的,例如复杂的第三方类库等,当渲染具有不可变数据源的大列表时,跳过响应式转换可以提高性能。

语法

创建一个自定义的 ref,并对其依赖项跟踪和更新触发进行显式控制。它需要一个工厂函数,该函数接收 track 和 trigger 函数作为参数,并且应该返回一个带有 get 和 set 的对象。

语法

实现祖与后代组件间通信,父组件有一个 provide 选项来提供数据,后代组件有一个 inject 选项来开始使用这些数据

语法

检查一个值是否为一个 ref 对象

语法

检查一个值是否为一个 isReactive 对象

语法

检查一个对象是否是由 readonly 创建的只读代理

语法

检查对象是否是由 reactive 或 readonly 创建的 proxy

语法

Teleport 提供了一种干净的方法,允许我们控制在 DOM 中哪个父节点下渲染了 HTML ,而不必求助于全局状态或将其拆分为两个组件。

语法

等待异步组件时先渲染一些额外内容,让应用有更好的用户体验

语法

将全局的API,即调整到应用实例(app)上

由于 V3 中不在存在 this ,所以 ref 的获取调整了

语法

V3 中在 for 循环元素上绑定 ref 将不再自动创建 $ref 数组。要从单个绑定获取多个 ref ,请将 ref 绑定到一个更灵活的函数上

语法

定义一个组件可以向其父组件触发的事件

使用方式修改

通过事件来监听组件生命周期中的关键阶段

语法

如果看了觉得有帮助的,我是@ 鹏多多 ,欢迎 点赞 关注 评论; END

往期文章

个人主页

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: Vue

“的七大罕用-Vue-组件-摸索-UI-3 (七种罕见病是什么病)” 的相关文章

b-b-耍流氓-CSS的正当性-的误会-冲破-Vue中Tailwind

b-b-耍流氓-CSS的正当性-的误会-冲破-Vue中Tailwind

前言 随着前端的开展,对前端页面的要求越来越高,而的配置也越来越弱小,但关于写css样式来说却是十分头疼的的事。由于前端页面的动画要求以及页面规划的精细管控,须要写少量的css。为了处置写c...

浅析其架构与原理-MVVM在Vue2中的实现 (架构的理解)

浅析其架构与原理-MVVM在Vue2中的实现 (架构的理解)

简介 Vue.js 是一款用于构建用户界面的渐进式 JavaScript 框架。它由尤雨溪在 2014 年推出,并迅速成为最流行的前端框架之一。 Vue.js 的设计目标是通过简单、灵...

模型的强大表单生成器-简化您的表单创建流程-基于-Vue (模型的强大表现在哪里)
微前端开发的七大神器-Vue (微前端实现原理)

微前端开发的七大神器-Vue (微前端实现原理)

微前端彻底改变了 Web 的构建和维护方式。使用正确的工具集,Vue 爱好者可以轻松克服微前端的管理危机,并释放组件驱动开发的全部潜力。但是,选择最佳工具集是一项挑战,因为有许多具有不同功能的...

解锁开发的无限可能-Mode-Vue-Vapor-3-即将到来的 (开发者选项显示已解锁)

解锁开发的无限可能-Mode-Vue-Vapor-3-即将到来的 (开发者选项显示已解锁)

在 2023 新年展望中,尤雨溪提到了 VaporMode,一种受 Solid.js 启发的新编译策略。VaporMode 旨在通过将代码编译为更有效的 JavaScript 输出来提升应用性能。...

样式的七个令人惊叹的机密技巧-助你优化样式程度-Vue (样式有哪些?)

样式的七个令人惊叹的机密技巧-助你优化样式程度-Vue (样式有哪些?)

单文件组件由三个不同的实体组成:模板、脚本和样式。一切这些都很关键,但后者往往被漠视,虽然它或许会变得复杂,并经常造成曲折和失误。更好地理解可以改良代码审查并缩小调试期间。 这里有7个小贴士...

WeakMap-Vue-性能显著优化-得益于-颁布-3.3.6 (weakman反义词)

WeakMap-Vue-性能显著优化-得益于-颁布-3.3.6 (weakman反义词)

其中一个失掉改良的是在或者的状况下从Maps和Sets转移到WeakMaps和WeakSets。 那是什么,为什么这么关键? 假设你在Maps或Sets中存储物品,你会对这些物品做一个...

优化应用程序性能的利器-Vue性能标记 (优化应用程序是什么意思)

优化应用程序性能的利器-Vue性能标记 (优化应用程序是什么意思)

在构建高性能应用程序时,追踪性能瓶颈非常重要。Vue提供了一个特殊的功能,可以在ChromeDevTools中启用性能标记,帮助我们更好地优化应用程序的性能。 如何启用性能标记...