优先级 C 的规则:推荐 (将选择和认知成本最小化) - vue 风格指南
优先级 C 的规则:推荐 (将选择和认知成本最小化)
组件/实例选项的顺序
组件/实例的选项应该有统一的顺序。这是我们为组件选项推荐的默认顺序。它们被划分为几大类,你能够由此知道新的 property 应该被放到哪里。
- 全局感知(要求在组件以外被感知)
- name
- 模板编译选项(改变模板编译的方式)
- compilerOptions
- 模板依赖(模板内使用的资源)
- components
- directives
- 组合(合并 property 至选项内)
- extends
- mixins
- provide/inject
- 接口(组件的接口)
- inheritAttrs
- props
- emits
- expose
- 组合式 API(使用组合式 API 的入口点)
- setup
- 本地状态(本地的响应式 property)
- data
- computed
- 事件(通过响应式事件触发的回调)
- watch
- 生命周期事件(按照它们被调用的顺序)
- beforeCreate
- created
- beforeMount
- mounted
- beforeUpdate
- updated
- activated
- deactivated
- beforeUnmount
- unmounted
- errorCaptured
- renderTracked
- renderTriggered
- 非响应式的 property(不依赖响应性系统的实例 property)
- methods
- 渲染(组件输出的声明式描述)
- template/render
元素 attribute 的顺序
元素(包括组件)的 attribute 应该有统一的顺序。这是我们为组件选项推荐的默认顺序。它们被划分为几大类,你能够由此知道新添加的自定义 attribute 和指令应该被放到哪里。
- 定义(提供组件的选项)
- is
- 列表渲染(创建相同元素的多个变体)
- v-for
- 条件(元素是否渲染/显示)
- v-if
- v-else-if
- v-else
- v-show
- v-cloak
- 渲染修饰符(改变元素的渲染方式)
- v-pre
- v-once
- 全局感知(要求在组件以外被感知)
- id
- 唯一性 Attribute(需要唯一值的 attribute)
- ref
- key
- 双向绑定(结合了绑定与事件)
- v-model
- 其他 Attribute(所有普通的、绑定或未绑定的 attribute)
- 事件(组件事件监听器)
- v-on
- 内容(覆写元素的内容)
- v-html
- v-text
组件/实例选项中的空行
你可能想在多个 property 之间增加一个空行,特别是在这些选项多到一屏放不下,需要滚动才能看完的时候。当你开始觉得组件密集或难以阅读时,在多个 property 之间添加空行可以使其重新变得易于阅读。在一些诸如 Vim 的编辑器里,被这样格式化后的选项还能通过键盘快速导航。
props: { value: { type: String, required: true }, focused: { type: Boolean, default: false }, label: String, icon: String }, computed: { formattedValue() { // ... }, inputClasses() { // ... } } // 在组件仍然能够被轻松阅读与定位时 // 没有空行也挺好 props: { value: { type: String, required: true }, focused: { type: Boolean, default: false }, label: String, icon: String }, computed: { formattedValue() { // ... }, inputClasses() { // ... } }
单文件组件的顶级元素的顺序
单文件组件应始终保持 反面例子...
...
/* ... */
...
/* ... */
...
/* ... */
...
/* ... */
...
/* ... */
...
/* ... */
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)