vue组件,数据通信,样式,JS的规范规则。对vue官方风格指南的总结归类并加入自己的规范,在团队小组中使用。

1.项目名/文件目录命名:

kebab-case(- 连接):

项目名:vue-admin

文件目录:table-module

2.组件规范:
2.1 组件名为多个单词:
    组件名应该始终是多个单词的,根组件 App 以及 <transition>、<component> 之类的 Vue 内置组件除外。
    这样做可以避免跟现有的以及未来的 HTML 元素相冲突,因为所有的 HTML 元素名称都是单个单词的。

2.2 单文件组件的文件名大驼峰或者横线连接(为了import时更方便,项目使用大驼峰):
    单词大写开头对于代码编辑器的自动补全最为友好。

2.3 紧密耦合的组件名:
    和父组件紧密耦合的子组件应该以父组件名作为前缀命名。
    如果一个组件只在某个父组件的场景下有意义,这层关系应该体现在其名字上。
    因为编辑器通常会按字母顺序组织文件,所以这样做可以把相关联的文件排在一起。
      components/
    |- TodoList.vue
    |- TodoListItem.vue
    |- TodoListItemButton.vue

2.4 组件名中的单词顺序:
    组件名应该以高级别的 (通常是一般化描述的) 单词开头,以描述性的修饰词结尾。
    比如对于一个带搜索表单的应用来说,它可能包含这样的组件:
    components/
    |- ClearSearchButton.vue
    |- ExcludeFromSearchInput.vue
    |- LaunchOnStartupCheckbox.vue
    |- RunSearchButton.vue
    |- SearchInput.vue
    |- TermsCheckbox.vue

注意到了,我们很难看出来哪些组件是针对搜索的。现在我们来根据规则给组件重新命名:

components/
    |- SearchButtonClear.vue
    |- SearchButtonRun.vue
    |- SearchInputExcludeGlob.vue
    |- SearchInputQuery.vue
    |- SettingsCheckboxLaunchOnStartup.vue
    |- SettingsCheckboxTerms.vue

因为编辑器通常会按字母顺序组织文件,所以现在组件之间的重要关系一目了然。

2.5 自闭合组件:
    在单文件组件、字符串模板和 JSX 中没有内容的组件应该是自闭合的——但在 DOM 模板里永远不要这样做。
    注:
    单文件组件:后缀.vue文件

DOM 模板:直接在HTML页面挂载的模板,就是原先写在页面上的,能被浏览器识别的HTML结构,会在一加载就被浏览器渲染,然后js获取dom节点的内容,
    形成dom模板。

字符串模板:Vue实例中的template属性所对应的字符串
    示例:
    Vue.component('child', {
      template: '<span>{{ type }}</span>'
    })

2.数据通信规范:
3.1 Prop 定义应该尽量详细:
    在你提交的代码中,prop 的定义应该尽量详细,至少需要指定其类型。

3.2 Prop 名大驼峰,在模板和 JSX 中应该始终使用 kebab-case(- 连接)。
    props: {
      greetingText: String
    }

<WelcomeMessage greeting-text="hi"/>

4.组件样式规范:
4.1 组件样式设置作用域:
    对于应用来说,顶级 App 组件和布局组件中的样式可以是全局的,但是其它所有组件都应该是有作用域的,在style标签加上scoped(<style scoped>)。
    这条规则只和单文件组件(文件扩展名为 .vue)有关。

4.2 scoped 中的元素选择器:
    在 scoped 样式中,类选择器比元素选择器更好,因为大量使用元素选择器是很慢的。

4.3 采用SCSS写法,CSS命名

1.采用SCSS写法:<style scoped lang = "scss">

2.类名使用小写字母,以中划线分隔

3.id采用驼峰式命名

4.scss中的变量、函数、混合、placeholder采用驼峰式命名

5.JS命名规范:

通用命名规范:

1.所有变量必须是有意义的英文,禁止拼音;

2.变量命名采用小驼峰法;

3.常量必须所有单词大写,并且每个单词间加下划线;

变量命名规范:

后端字段与后端字段为准,不应用此规范

类型前缀 + 有意义的单词

1.字符串:sXXX,如:sName,sHtml;

2.数字:nXXX,如:nPage,nTotal;

3.逻辑:bXXX,如:bChecked,bHasLogin;

  4.数组:aXXX,如:aList,aGroup;

  5.正则:rXXX,如:rDomain,rEmail;

  6.函数:fXXX,如:fGetList;

  7.DOM节点:dXX,如:dDiv,dSpan;

  8.其他类型:oXXX,如:oButton,oDate;

  9.特殊简写:小范围作用域临时变量,如函数内部的局部变量或参数:o(Object)、e(Element)、evt(event)、err(errot)等;

  循环变量:i、j、k以此类推;

注此JS规范参考MAX Yu

vue规范规则的更多相关文章

  1. CSS命名规范(规则)常用的CSS命名规则

    CSS命名规范(规则)常用的CSS命名规则   CSS命名规范(规则)常用的CSS命名规则   头:header   内容:content/container   尾:footer ...

  2. Vue(五)Vue规范

    代码规范很重要 1.组件名应该始终是多个单词的,根组件 App 除外. 2.组件的 data 必须是一个函数. // In a .vue file export default { data () { ...

  3. Vue路由规则中定义参数

    Vue使用routerLinke定义参数的时候  路由规则中不需要更改任何属性. 路由其实就是我们在html中定义的锚点,点击这个连接跳转一个锚点.vue中的路由也是这个原理, 前提是路由必须创建在实 ...

  4. Vue 路由规则--传参数

    1,query方法去获取参数 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  5. 初次在Vue项目使用TypeScript,需要做什么

    前言 总所周知,Vue新版本3.0 使用 TypeScript 开发,让本来就很火的 TypeScript 受到更多人的关注.虽然 TypeScript 在近几年才火,但其实它诞生于2012年10月, ...

  6. Vue大概知识体系和学习参考

    Vue大概知识体系和学习参考文档 官方文档学习,参考,借鉴地址:https://cn.vuejs.org/v2/guide/installation.html 菜鸟教程:https://www.run ...

  7. 前端规范之JS代码规范(ESLint + Prettier)

    代码规范是软件开发领域经久不衰的话题,几乎所有工程师在开发过程中都会遇到或思考过这一问题.而随着前端应用的大型化和复杂化,越来越多的前端团队也开始重视代码规范.同样,前段时间,笔者所在的团队也开展了一 ...

  8. vue 排错

    error The template root requires exactly one element vue/no-multiple-template-root ... 解决办法: .eslint ...

  9. css的书写规范+常用

    格式化: body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blo ...

随机推荐

  1. thinkphp在 nginx 的conf文件配置

    server { listen 80; server_name www.osd-aisa.com; #charset koi8-r; #access_log logs/host.access.log ...

  2. windows命令行运行mysql

    在cmd中输入时一定要保证英文环境. 1. windows命令行运行mysql: 我是将MYSQL安装在C:\Program Files\MySQL所以 C:\Program Files\MySQL\ ...

  3. bzoj4244 & loj2878. 「JOISC 2014 Day2」邮戳拉力赛 括号序列+背包

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4244 https://loj.ac/problem/2878 题解 挺妙的一道题. 一开始一直 ...

  4. Spring---基础配置

    1.@Scope 1.1.描述了Spring容器如何新建Bean的实例: 1.2.@Scope(value="") value值有: 1.2.1.singleton 一个Sprin ...

  5. SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法

    SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法 在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备 ...

  6. APICloud框架——总结一下最近开发APP遇到的一些问题 (三)

    ajax报错 Uncaught DOMException: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 需要在服务器环境下 ...

  7. QUartus 使用之001_空格_箭头切换----FPGA--001

    Quartus里的Tab键,按下后,显示的为什么是箭头,以前显示的是空白,图片如下: 解决方式如下: 修改后效果图如下:

  8. paper 167:GPU的使用Theano之tutorial

    Theano之使用GPU 英文版本:http://deeplearning.net/software/theano/tutorial/using_gpu.html          using the ...

  9. PPT技巧

    1.秋叶个人的PPT三分钟教程   http://www.pptfans.cn/315656.html 2.<说服力-让你的PPT会说话>秋叶 3.<三体> https://w ...

  10. intellijidea 设置字体等

    http://blog.csdn.net/asmcvc/article/details/17144951 1.下载安装AndroidStudio:http://developer.android.co ...