美文网首页
Vue风格指南

Vue风格指南

作者: 科科Cole | 来源:发表于2021-08-25 00:42 被阅读0次

refer to https://v3.cn.vuejs.org/style-guide/

  1. 必要的 Necessary
  • 组件名为多个单词

todo ❌ todo-item/TodoItem ✅

  • Prop定义尽量详细
Props:{
    status: String
    another:{
        type: String,
        required: true,
        default: 'synced',
        validator: value => {
            return ['syncing','synced','version-conflict','error'].includes(value)
        }
    }
}
  • v-for设置key值

:key="item.id"

  • v-if不和v-for一起使用

v-if优先级高于v-for,对于v-for="user in users" v-if="user.isActive",可能会抛出错误

  • SFC设置样式作用域

<style scoped></style>
<style module></style>

  • 若无法保证模块作用域,对于插件、mixin等不公开api使用私有property名称

这一点我看vant源码的mixin中倒也没有遵守…

_为Vue私有property $为Vue暴露给用户的实例property 因此 $_pluginName_api 最为合适

  1. 强烈推荐 Highly recommend
  • 将每个组件单独分成文件

  • SFC文件名要么始终是大驼峰PascalCase要么始终是横线连接kebab-case

myComponent.vue/mycomponent.vue ❌ MyComponent.vue/my-component.vue ✅

  • 定义统一的基础组件文件名前缀

基础组件指,只包括HTML元素、其他基础组件、第三方UI的组件,绝不包括全局状态等,比如Vuex store。这些基础组件应有一个统一的前缀。

MyButton.vue VueTable.vue Icon.vue ❌
BaseButton.vue BaseTable.vue BaseIcon.vue ✅

  • 单例组件文件名以The为前缀

单例组件指每个页面中此组件只会被使用一次,且此组件永远不接受任何prop。如果发现有必要添加prop,说明这个组件实际上是可复用的,不算单例组件。

MySidebar.vue ❌ TheSidebar.vue ✅

  • 紧密耦合组件名称

紧密耦合父子组件,子组件以父组件名称作为前缀。

个人觉得详解中使用目录嵌套解决也是可行的。

  • 组件名称的单词顺序

以高阶(一般性的描述)单词为开头,描述性的修饰词为结尾。

这一点不太好遵守。随需求的增加,高阶的定义可能会改变。

  • 自闭合组件

DOM模版中的组件不要自闭合。

单文件组件、字符串模版、JSX:<MyComponent />

DOM模版:<my-component></my-component>

关于DOM模版和字符串模版的区别:DOM模版是直接写在页面上的,浏览器加载时就会渲染的html结构,比如<child></child>。字符串模版是写在js里的,不立即参与渲染的。

懒得记就都不要自闭和。

  • 模版中组件名大小写

都用kebab-case

  • JS/JSX中使用的组件名

一律PascalCase或kebab-case,不要小驼峰。但在组件命名export default{name:''}中,name必须PascalCase

  • 组件名尽量少使用缩写

  • prop命名

js中使用camelCase,HTML中使用kebab-case

  • 多个attribute的元素,每个attribute一行

  • 模版中只应包含简单表达式

  • 复杂计算属性拆分成更多小计算属性。解耦。

  • attribute值带引号

  • 指令缩写要么都用要么都不用

  1. 推荐 Recommend
  • export default {
    name,
    compilerOptions,
    components,
    directives,
    extends,
    mixins,
    provide/inject,
    inheritAttrs,
    props,
    emits,
    setup,
    data,
    computed,
    watch,
    beforeCreate,
    created,
    beforeMount,
    mounted,
    beforeUpdate,
    updated,
    activated,
    deactivated,
    beforeUnmount,
    unmounted,
    errorCaptured,
    renderTracked,
    renderTriggerd,
    methods,
    template/render,
    }

  • <my-component is v-for v-if v-else-if v-else v-show v-cloak v-pre v-once id ref key v-model Attributes v-on v-html v-text />

相关文章

  • Vue文档学习(第1遍)

    Vue教程: Vue API: Vue风格指南: Cookbook

  • VUE风格指南

    title: 风格指南type: style-guide 这里是官方的 Vue 特有代码的风格指南。如果在工程中使...

  • Vue 开发起步指南

    必须通读的文档 Vue 2.x 核心文档 Vuex 状态管理文档 Vue router 路由文档 Vue 风格指南...

  • vue学习第一课之vue的推荐风格指南

    vue推荐风格指南: 先把思维导图记下来了,后期再继续补充相关的吧 官方风格指南:https://cn.vuejs...

  • vue开发规范

    来自掘金的分享JS规范css规范vue风格指南官方文档

  • Vue风格指南

    风格指南官方文档 一、优先级A 1、组件名为多个单词 避免跟html元素相冲突。根组件除外。 2、组件data必须...

  • Vue风格指南(A)

    优先级A(必要的) 组件名 除了App外,其他组件名应为多单词组成的,因为HTML元素都是单单词的,这样可以避免冲...

  • VUE风格指南

    组件名为多个单词必要组件名应该始终是多个单词的,根组件 App 除外。 组件数据必要组件的 data必须是一个函数...

  • Vue风格指南

    a.优先级A -- 私有属性名 在插件、混入等扩展中始终为自定义的私有属性使用 $_ 前缀。并附带一个命名空间以回...

  • vue风格指南

    规则分为四大类:1.必要的: 2.强烈推荐的: 3.推荐的 4.谨慎使用

网友评论

      本文标题:Vue风格指南

      本文链接:https://www.haomeiwen.com/subject/cbtsiltx.html