vue學(xué)習(xí)筆記-vue風(fēng)格指南-優(yōu)先級(jí)

優(yōu)先級(jí)A的規(guī)則:
1.組件名為多個(gè)單詞馏谨,但是根組件除外。
如:
export default {
name:'UnitList',
}
2.組件的data 必須是一個(gè)函數(shù)
3.Prop定義應(yīng)該盡量詳盡附迷,至少要指定其類(lèi)型
4.為v-for設(shè)置鍵值惧互,即總是用key來(lái)配合v-for
5.不要把v-for 和v-if 同時(shí)使用在同一個(gè)dom元素上
6.為組件樣式設(shè)置作用域:
a.scoped
b.使用CSS Modules
c.使用BEM 約定(一種前端命名方法論,即block(塊), element(元素),modifier(修飾符))
命名約定模式:
.block{}
.block__element{}
.block--modifier{}

.block 代表了更高級(jí)別的抽象或組件喇伯。
.block__element 代表.block的后代喊儡,用于形成一個(gè)完整的.block的整體。
.block--modifier代表.block的不同狀態(tài)或不同版本稻据。

  1. 私有屬性名以_ 前綴艾猜。并附帶一個(gè)命名空間以回避和其它作者的沖突 (比如yourPluginName)
    如:_myGreatMixin_update就是這種方法命名的 var myGreatMixin = { // ... methods: {_myGreatMixin_update: function () {
    // ...
    }
    }
    }

優(yōu)先級(jí)B的規(guī)則:
1.只要有能夠拼接文件的構(gòu)建系統(tǒng),就把每個(gè)組件單獨(dú)分成文件

components/TodoList.vue
components/TodoInfo.js
而不是Vue.component('TodoItem', {
// ...
})
2.但文件組件應(yīng)該始終以小駝峰命名法或者短橫線命名法捻悯,不要混著用

components/myComponent.vue
components/my-component.vue
3.基礎(chǔ)的組件名以一個(gè)特定的前綴開(kāi)頭匆赃,如Basic,App,V

components/BasicButton.vue
4.單例組件名即每個(gè)頁(yè)面只使用一次今缚,如header和footer算柳,應(yīng)該The前綴命名,以示唯一性荚斯。

components/TheHeading.vue
5.緊密耦合的組件名埠居,以父組件名作為前綴命名查牌。

components/TodoListButton.vue
components/UserInfoButton.vue
6.組件名中的單詞順序事期,以高級(jí)別的單詞開(kāi)頭滥壕,描述性的修飾詞結(jié)尾

components/SearchButtonCheck
components/SearchButtonReset
7.在Dom中不要使用自閉合組件,但在單文件組件兽泣,字符串模板和 JSX 中可以绎橘。
如:
糟糕的:<my-component/>
優(yōu)秀的:<my-component></my-component>
8.模版中俄組件名要么短橫線要么大駝峰
9.js/jsx中的組件名應(yīng)該使用大駝峰,簡(jiǎn)單的應(yīng)用中可以用短橫線

Vue.component('MyComponent', {
// ...
})
import MyComponent from './MyComponent.vue'
export default {
name: 'MyComponent',
// ...
}
10.組件名應(yīng)該傾向于完整單詞而不是縮寫(xiě)
11.在聲明 prop 的時(shí)候唠倦,其命名應(yīng)該始終使用 camelCase称鳞,而在模板和 JSX 中應(yīng)該始終使用 kebab-case
12.多個(gè)特性的元素應(yīng)該分多行撰寫(xiě),每個(gè)特性一行稠鼻。
如:
<button type="button"
@click="handleClick"
.......
.....
>
而不是<button type="button" @click="handleClick"..... ....... .......>
13.模版中的表達(dá)式應(yīng)該是最簡(jiǎn)單的冈止,復(fù)雜的表達(dá)式應(yīng)該重構(gòu)為計(jì)算屬性和方法
14.復(fù)雜的計(jì)算屬性或者方法拆分成為更簡(jiǎn)單的屬性
15.非空 HTML 特性值應(yīng)該始終帶引號(hào) (單引號(hào)或雙引號(hào),選你 JS 里不用的那個(gè))候齿。

<AppSidebar :style="{ width: sidebarWidth + 'px' }">
16.指令要縮寫(xiě)熙暴,或者要么全部縮寫(xiě)要么全部不縮寫(xiě)

優(yōu)先級(jí)C的規(guī)則
1.組件/實(shí)例的選項(xiàng)應(yīng)該有統(tǒng)一的順序。
2.元素 (包括組件) 的特性應(yīng)該有統(tǒng)一的順序慌盯。
3.在組件/實(shí)例選項(xiàng)中進(jìn)行空行
4但文件組件頂級(jí)元素的順序應(yīng)該是
即 <template></template>
<script></script>
<style></style>

優(yōu)先D的規(guī)則(有潛在危險(xiǎn)的)
1.在v-if. v-if-else v-else 不能缺少key
2.scoped 中不要選擇元素選擇器周霉,要使用類(lèi)選擇器
3.父子組件通信不違反單項(xiàng)數(shù)據(jù)流概念,即通過(guò) prop 和事件進(jìn)行父子組件之間的通信亚皂,而不是 this.$parent 或改變 prop俱箱。

4.應(yīng)該優(yōu)先通過(guò)vuex管理全局狀態(tài),而不是通過(guò)this. $root或一個(gè)全局事件總線灭必。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末狞谱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子禁漓,更是在濱河造成了極大的恐慌跟衅,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件璃饱,死亡現(xiàn)場(chǎng)離奇詭異与斤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)荚恶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)撩穿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人谒撼,你說(shuō)我怎么就攤上這事食寡。” “怎么了廓潜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵抵皱,是天一觀的道長(zhǎng)善榛。 經(jīng)常有香客問(wèn)我,道長(zhǎng)呻畸,這世上最難降的妖魔是什么移盆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮伤为,結(jié)果婚禮上咒循,老公的妹妹穿的比我還像新娘。我一直安慰自己绞愚,他們只是感情好叙甸,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著位衩,像睡著了一般裆蒸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上糖驴,一...
    開(kāi)封第一講書(shū)人閱讀 52,184評(píng)論 1 308
  • 那天僚祷,我揣著相機(jī)與錄音,去河邊找鬼遂赠。 笑死久妆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的跷睦。 我是一名探鬼主播筷弦,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抑诸!你這毒婦竟也來(lái)了烂琴?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蜕乡,失蹤者是張志新(化名)和其女友劉穎奸绷,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體层玲,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡号醉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辛块。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片畔派。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖润绵,靈堂內(nèi)的尸體忽然破棺而出线椰,到底是詐尸還是另有隱情,我是刑警寧澤尘盼,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布憨愉,位于F島的核電站烦绳,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏配紫。R本人自食惡果不足惜径密,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笨蚁。 院中可真熱鬧睹晒,春花似錦趟庄、人聲如沸括细。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奋单。三九已至,卻和暖如春猫十,著一層夾襖步出監(jiān)牢的瞬間览濒,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工拖云, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贷笛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓宙项,卻偏偏與公主長(zhǎng)得像乏苦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尤筐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

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

  • 組件簡(jiǎn)介 組件系統(tǒng)是Vue.js其中一個(gè)重要的概念汇荐,它提供了一種抽象,讓我們可以使用獨(dú)立可復(fù)用的小組件來(lái)構(gòu)建大型應(yīng)...
    前端一菜鳥(niǎo)閱讀 862評(píng)論 0 16
  • Vue 實(shí)例 屬性和方法 每個(gè) Vue 實(shí)例都會(huì)代理其 data 對(duì)象里所有的屬性:var data = { a:...
    云之外閱讀 2,220評(píng)論 0 6
  • title: 風(fēng)格指南type: style-guide 這里是官方的 Vue 特有代碼的風(fēng)格指南盆繁。如果在工程中使...
    ChenyuMa閱讀 1,076評(píng)論 1 1
  • 查看 Vue官方 風(fēng)格指南掀淘,記錄下我的學(xué)習(xí)筆記。 優(yōu)先級(jí) A 的規(guī)則: 必要的(規(guī)避錯(cuò)誤) 1油昂、組件名為多個(gè)單詞革娄,...
    HowieDev閱讀 1,558評(píng)論 0 1
  • 什么是組件? 組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一冕碟。組件可以擴(kuò)展 HTML 元素拦惋,封裝...
    youins閱讀 9,487評(píng)論 0 13