当前位置:首页 > 科技  > 软件

Vue组件的Prop命名约定

来源: 责编: 时间:2023-08-09 23:03:42 455观看
导读AICube 开放GPT-4给大家使用以及AI工具助手,可以简化大家生图的的prompt在编程中,有两个极具挑战性的任务:缓存失效和命名事物。今天,我们将深入探讨后者,探索为Vue组件命名props的艺术。在给 props 命名时,遵循已有的变量

CXY28资讯网——每日最新资讯28at.com

AICube 开放GPT-4给大家使用以及AI工具助手,可以简化大家生图的的promptCXY28资讯网——每日最新资讯28at.com

在编程中,有两个极具挑战性的任务:缓存失效和命名事物。今天,我们将深入探讨后者,探索为Vue组件命名props的艺术。CXY28资讯网——每日最新资讯28at.com

在给 props 命名时,遵循已有的变量命名惯例是非常重要的。例如,使用小驼峰命名法(isEnabled)并保持名称简短(不超过30个字符)。CXY28资讯网——每日最新资讯28at.com

然而,Vue有自己的一套最佳实践,我们应该遵循。让我们根据我在使用Vue的经验谈谈一些技巧。CXY28资讯网——每日最新资讯28at.com

1、内容感知命名

重要的是最大限度地利用变量名传达信息,以减少混淆并使组件的浏览更加容易。CXY28资讯网——每日最新资讯28at.com

对于数组,选择使用复数名词作为变量名,例如 items 。这个选择立即表明该变量代表一组相关元素的集合。CXY28资讯网——每日最新资讯28at.com

处理数字时,可以使用前缀如 num 或后缀如 count 和 index 来表示数值。例如, numItems , itemCount 和 itemIndex 可以清楚地表明变量的数值属性。CXY28资讯网——每日最新资讯28at.com

在处理对象时,请使用适当的单数名词,例如 item 。CXY28资讯网——每日最新资讯28at.com

对于布尔值,请使用描述性前缀如 is 、 can 和 has 来传达视觉或行为上的变化:CXY28资讯网——每日最新资讯28at.com

is 适用于表示视觉或行为状态,例如 isVisible , isEnabled 或 isActive 。CXY28资讯网——每日最新资讯28at.com

can 表示行为变化或条件性的视觉变化。考虑使用 canToggle 或 canExpand 这样的属性名称来清晰地表达组件的能力。CXY28资讯网——每日最新资讯28at.com

has 表示UI元素的存在。使用前缀如 hasCancelButton 或 hasHeader 来表示特定的UI元素是否存在或可见。CXY28资讯网——每日最新资讯28at.com

2、描述性命名

Props 应该描述组件本身,侧重于它的功能而不是为什么要这样做。避免以当前用户或环境命名 props。CXY28资讯网——每日最新资讯28at.com

例如:CXY28资讯网——每日最新资讯28at.com

考虑使用 hasSubmitButton ,而不是 hasSubmitPermission。CXY28资讯网——每日最新资讯28at.com

<MyForm hasSubmitButtnotallow="user.canSubmit" />

不要选择 isMobileScreen ,而是选择 isCompactLayout 。CXY28资讯网——每日最新资讯28at.com

<MyForm isCompactLayout="browser.isMobileScreen" />

避免将 props  命名为子组件。如果这些 props  是用来传递给子组件的,请使用描述组件本身的名称。CXY28资讯网——每日最新资讯28at.com

  • 使用 <MyList @notallow="…" /> 代替 <MyList @notallow="…" />
  • 选择 isLoadingComments 而不是 areCommentsLoading

描述子组件的存在可能会引起误解。如果目标是为了为图标创建更多的空间而不是切换其存在,考虑使用 isSpacious 而不是 hasIcon 。记住, hasIcon 回答的是为什么,而不是什么。CXY28资讯网——每日最新资讯28at.com

3、事件处理程序属性

在表示事件处理程序的属性名称之前添加on (例如,onSelect,onClick)CXY28资讯网——每日最新资讯28at.com

使用 handle 前缀来定义处理函数。CXY28资讯网——每日最新资讯28at.com

<MyComp @notallow="handleClick" />

避免在自定义事件中使用内置的事件处理程序属性名称。如果原生的焦点/点击事件不相关,请使用自定义名称,例如 onSelect ,而不是 onFocus 或 onClick 。CXY28资讯网——每日最新资讯28at.com

按照这些准则,我们可以为Vue应用程序建立一致且有意义的 prop 命名约定。周到的 prop 名称有助于提高代码的可读性和可维护性,使你和团队更容易有效地合作。CXY28资讯网——每日最新资讯28at.com

本文转载自微信公众号「大迁世界」,可以通过以下二维码关注。转载本文请联系大迁世界公众号。CXY28资讯网——每日最新资讯28at.com

CXY28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-5191-0.htmlVue组件的Prop命名约定

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Prism库:详解其核心组件和使用方法,助力构建高品质应用程序

下一篇: 你的Java程序还在使用阻塞式I/O吗?试试NIO多路复用提高性能!

标签:
  • 热门焦点
  • 石头智能洗地机A10 Plus体验:双向自清洁治好了我的懒癌

    一、前言和介绍专为家庭请假懒人而生的石头科技在近日又带来了自己的全新旗舰新品,石头智能洗地机A10 Plus。从这个产品名上就不难看出,这次石头推出的并不是常见的扫地机器
  • 5月安卓手机好评榜:魅族20 Pro夺冠

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年5月1日至5月31日,仅限国内市场。第一名:魅族20 Pro好评率:97.50%不得不感慨魅族老品牌还
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己&ldquo;当家&rdquo;的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • 8月见!小米MIX Fold 3获得3C认证:支持67W快充

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都得到了不少爆料,而小米新一代折叠屏旗舰——小米MIX Fold 3此前也屡屡被传
  • OPPO Reno10 Pro英雄联盟定制礼盒公布:萨勒芬妮同款配色梦幻十足

    5月24日,OPPO推出了全新的OPPO Reno 10系列,包含OPPO Reno10、OPPO Reno10 Pro和OPPO Reno10 Pro+三款新机,全系标配了超光影长焦镜头,是迄今为止拍照
Top