vue 编码规范

vue 编码规范

1.数据渲染:

渲染数据时,必须使用“Mustache”语法 (双大括号),否则无法在页面显示

<span>{{ msg }}</span>

2.组件命名:

  • 组件名应为多个单词,避免与HTML元素冲突

  • 组件名应该倾向于完整单词而不是缩写

  • 单词之间使用 连字符 ‘-’ 分隔 (recommend-reading)

  • 如果非常通用的组件可以使用一个前缀作为命名空间,例如app-button,这样方便于其他项目复用

  • 在组件定义中(局部注册):

    import Loading from 'components/loading'

    components: {
    'v-loading': Loading,
    }

3.紧密耦合的组件名:

如果一个组件只在某个父组件的场景下有意义,这层关系应该体现在其名字上。因为编辑器通常会按字母顺序组织文件,所以这样做可以把相关联的文件排在一起。

components/
|- TodoList.vue
|- TodoListItem.vue
|- TodoListItemButton.vue 

4.组件引入规则:

组件引入应以变量Loading形式,而不是字符串"Loading"形式

import Loading from 'components/loading';  

5.尽量使用缩写:

比如使用 :style 代替 v-bind:style;用 @click 代替 v-on:click

6.不要将 html 的 attribute 和 vue 的 model 混用:

img、a标签等如需添加动态属性,应用 :src=" " / :href=" " ,而不是用 src={{}}。

正确使用方法如下:

![](baseUrl + item.cover) 
<a :href="baseUrl + item.id" />   

注:路由 to 属性如是动态数据,也需用v-bind 绑定

<li class="nav-item" v-for="(item,index) in routeArr">
    <router-link  :to='item.url' :key="item.id">{{item.name}}</router-link>
 </li>

7.data属性:

在组件中,data值必须是函数 (因为组件可能被多次调用,当data为普通对象时,data内的数据会被共享,为函数时,则每个组件生成为独立data作用域")

export default {
    data () { 
      return {
        foo: 'bar'
      }
  }
} 

8.method方法命名:

  • ajax数据请求:以get、post开头,以data结尾

    getListData、postFormData

  • 事件:事件方法以on开头

    onChangeColor、onChangeStatus

  • 驼峰命名规则

9.vue方法一般放置顺序:

  • components(组件)

  • props(组件之间的传递值)

  • data(初始化数据)

  • computed (计算属性,做逻辑处理)

  • methods (方法)

  • mounted(钩子函数,一般调用方法)

例如:

 export default{
      components:{
        
      },
      props:[],
      data(){
        return { 
        
        }
     },
     computed:{ 

     }
     methods:{

     },
     mounted:{
    
    }
 }

10.为v-for设置键值:

当使用v-for渲染列表时, 需要对应的key值,以维护内部组件及其子树的状态

<li v-for="todo in todos" :key="todo.id">{{ todo.text }}</li> 

11.为组件样式设置作用域:

为避免不同组件之间css样式冲突,需在style标签中设置作用域;

设置作用域可使用scoped,也可通过CSS Modules(CSS Modules是一种技术流的组织css代码的策略,它是依靠动态生成class名这一手段为css提供默认的局部作用域。)

<style scoped>
    .button {
      border: none;
      border-radius: 2px;
    }
</style>  

<style module>
    .button {
      border: none;
      border-radius: 2px;
    }
</style>  

12. < template >< /template >标签注意点:

组件中< template > < /template > 标签内只能有一个根元素

<template>
    <div class="wrap"> 
        content.....
    </div>
</template>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,050评论 0 29
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,207评论 0 6
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,016评论 4 129
  • 下载安装搭建环境 可以选npm安装,或者简单下载一个开发版的vue.js文件 浏览器打开加载有vue的文档时,控制...
    冥冥2017阅读 6,037评论 0 42
  • 鞭炮声声在耳边,礼花绽放更灿烂,年夜饭香气弥漫,我被浓浓的年味裹携着………逝去的岁月, 走近的春天, 我心潮澎湃...
    从容sunshine阅读 259评论 0 0