Vue開發(fā)風(fēng)格指南

組件數(shù)據(jù)

組件的 data 必須是一個函數(shù)拄衰。

// bad
export default {
  data: {
    foo: 'bar',
  },
};

// good
export default {
  data() {
    return {
      foo: 'bar',
    };
  },
};

單文件組件文件名稱

單文件組件的文件名應(yīng)該要么始終是單詞大寫開頭 (PascalCase),要么始終是橫線連接 (kebab-case)。

// bad
mycomponent.vue
myComponent.vue

// good
my-component.vue
MyComponent.vue

緊密耦合的組件名

和父組件緊密耦合的子組件應(yīng)該以父組件名作為前綴命名。

// bad
components/
|- TodoList.vue
|- TodoItem.vue
└─ TodoButton.vue

// good
components/
|- TodoList.vue
|- TodoListItem.vue
└─ TodoListItemButton.vue

自閉合組件

在單文件組件中沒有內(nèi)容的組件應(yīng)該是自閉合的。

<!-- bad -->
<my-component></my-component>

<!-- good -->
<my-component />

Prop 名大小寫

在聲明 prop 的時候蹦魔,其命名應(yīng)該始終使用 camelCase,而在模板中應(yīng)該始終使用 kebab-case咳燕。

// bad
export default {
  props: {
    'greeting-text': String,
  },
};

// good
export default {
  props: {
    greetingText: String,
  },
};
<!-- bad -->
<welcome-message greetingText="hi" />

<!-- good -->
<welcome-message greeting-text="hi" />

指令縮寫

指令縮寫版姑,用 : 表示 v-bind: ,用 @ 表示 v-on:

<!-- bad -->
<input v-bind:value="value" v-on:input="onInput" />

<!-- good -->
<input :value="value" @input="onInput" />

Props 順序

標(biāo)簽的 Props 應(yīng)該有統(tǒng)一的順序迟郎,依次為指令剥险、屬性和事件。

<my-component
  v-if="if"
  v-show="show"
  v-model="value"
  ref="ref"
  :key="key"
  :text="text"
  @input="onInput"
  @change="onChange"
/>

組件選項(xiàng)的順序

組件選項(xiàng)應(yīng)該有統(tǒng)一的順序宪肖。

export default {
  name: '',

  mixins: [],

  components: {},

  props: {},

  data() {},

  computed: {},

  watch: {},

  created() {},

  mounted() {},

  destroyed() {},

  methods: {},
};

組件選項(xiàng)中的空行

組件選項(xiàng)較多時表制,建議在屬性之間添加空行。

export default {
  computed: {
    formattedValue() {
      // ...
    },

    styles() {
      // ...
    },
  },

  methods: {
    onInput() {
      // ...
    },

    onChange() {
      // ...
    },
  },
};

單文件組件頂級標(biāo)簽的順序

單文件組件應(yīng)該總是讓頂級標(biāo)簽的順序保持一致控乾,且標(biāo)簽之間留有空行么介。

<template>
  ...
</template>

<script>
  /* ... */
</script>

<style>
  /* ... */
</style>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蜕衡,隨后出現(xiàn)的幾起案子壤短,更是在濱河造成了極大的恐慌,老刑警劉巖慨仿,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件久脯,死亡現(xiàn)場離奇詭異,居然都是意外死亡镰吆,警方通過查閱死者的電腦和手機(jī)帘撰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來万皿,“玉大人摧找,你說我怎么就攤上這事±喂瑁” “怎么了蹬耘?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長减余。 經(jīng)常有香客問我综苔,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任休里,我火速辦了婚禮,結(jié)果婚禮上赃承,老公的妹妹穿的比我還像新娘妙黍。我一直安慰自己,他們只是感情好瞧剖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布拭嫁。 她就那樣靜靜地躺著,像睡著了一般抓于。 火紅的嫁衣襯著肌膚如雪做粤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天捉撮,我揣著相機(jī)與錄音怕品,去河邊找鬼。 笑死巾遭,一個胖子當(dāng)著我的面吹牛肉康,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灼舍,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吼和,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了骑素?” 一聲冷哼從身側(cè)響起炫乓,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎献丑,沒想到半個月后末捣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡创橄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年塔粒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筐摘。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡卒茬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咖熟,到底是詐尸還是另有隱情圃酵,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布馍管,位于F島的核電站郭赐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏确沸。R本人自食惡果不足惜捌锭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一俘陷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧观谦,春花似錦拉盾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至泻红,卻和暖如春夭禽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谊路。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工讹躯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缠劝。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓蜀撑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親剩彬。 傳聞我的和親對象是個殘疾皇子酷麦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • title: 風(fēng)格指南type: style-guide 這里是官方的 Vue 特有代碼的風(fēng)格指南。如果在工程中使...
    ChenyuMa閱讀 1,069評論 1 1
  • 命名規(guī)范 A優(yōu)先級 組件名應(yīng)該始終是多個單詞:避免跟現(xiàn)有的以及未來的 HTML 元素相沖突 B優(yōu)先級 單文件組件的...
    小焲閱讀 471評論 0 0
  • Vue 官方在最近發(fā)布了代碼風(fēng)格指南的BETA版本喉恋,旨在引導(dǎo)開發(fā)者以正確的方式來書寫代碼沃饶,避免因?yàn)椴灰?guī)范而導(dǎo)致的問...
    白色鵜鶘鳥閱讀 1,010評論 0 4
  • 組件數(shù)據(jù) 組件的 data 必須是一個函數(shù)。 單文件組件文件名稱 單文件組件的文件名應(yīng)該要么始終是單詞大寫開頭 (...
    晨晨_103e閱讀 151評論 0 0
  • 這里是官方的 Vue 特有代碼的風(fēng)格指南轻黑。如果在工程中使用 Vue糊肤,為了回避錯誤、小糾結(jié)和反模式氓鄙,該指南是份不錯的...
    youins閱讀 5,737評論 0 5