項(xiàng)目命名規(guī)則
- 文件夾 采用烤串形式
- 文件名 采用烤串形式
- 常量名稱 采用小駝峰形式
- 變量名稱 采用小駝峰形式
- 樣式類名 采用烤串形式
vue 注意事項(xiàng)
- 組件文件名 采用烤串形式
- 組件名稱 采用大駝峰
- 引入組件的變量名稱采用大駝峰
- 注冊(cè)組件 采用大駝峰命名
- 組件模板(單文件)、字符串模板中(實(shí)例選項(xiàng)template),采用大駝峰且自閉合,具有插槽作用域的組件則寫閉合標(biāo)簽
- 由vue編譯器編譯對(duì)模板中,對(duì)自定義標(biāo)簽的編譯時(shí),與注冊(cè)標(biāo)簽的名稱匹配過程是有一個(gè)轉(zhuǎn)義過程的
轉(zhuǎn)義規(guī)則
- case-name 寫法會(huì)轉(zhuǎn)義為三種形式 case-name caseName CaseName 這三種注冊(cè)方式都能夠被匹配到
- caseName 寫法會(huì)轉(zhuǎn)義為兩種形式 caseName CaseName 這兩種注冊(cè)方式都能被匹配到
- CaseName 寫法不會(huì)轉(zhuǎn)義 注冊(cè)時(shí)必須命名為 CaseName,
- html模板中組件名稱采用烤串形式,且需要寫閉合標(biāo)簽, 由于html對(duì)與大小寫不敏感,所以caseName、CaseName 兩種寫法都會(huì)被解析為 casename, 在vue編譯器對(duì)自定義標(biāo)簽進(jìn)行解析時(shí),casename 不會(huì)被轉(zhuǎn)義,從而匹配不到 case-name caseName CaseName 這三種注冊(cè)方式任意一種, 所以在html模板中 必須以 case-name 聲明自定義標(biāo)簽,這種格式的標(biāo)簽會(huì)被vue編譯器進(jìn)行轉(zhuǎn)義,能夠匹配 case-name caseName CaseName 三種注冊(cè)方式中任意一種
html模板使用場景
vue掛載在指定(el)上時(shí),若(el)內(nèi)部存在DOM模板則會(huì)將其視為vue模板進(jìn)行渲染
- prop傳遞屬性需要定義類型、設(shè)置默認(rèn)值、是否必傳、驗(yàn)證函數(shù)
- 樣式文件添加作用域scoped
- 樣式穿透使用::v-deep
vue模板插值
<%= VALUE %> 用來做不轉(zhuǎn)義插值;
<%- VALUE %> 用來做 HTML 轉(zhuǎn)義插值;
<% expression %> 用來描述 JavaScript 流程控制。
an example
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
vue添加工具函數(shù)
- 以模塊的形式,每個(gè)組件內(nèi)使用時(shí)單獨(dú)引入(使用麻煩)
- 使用全局的mixin混入,相當(dāng)于每個(gè)實(shí)例上都定義一次該方法,(代碼分散、不利于維護(hù))
- 全局provid注入,使用inject引入,在引入時(shí)存在一個(gè)遞歸向上的查找過程、類似于原型鏈
- Vue構(gòu)造函數(shù)原型中注冊(cè)($、_、)兩種屬性名起始key以被vue內(nèi)置使用,注意使用其他關(guān)鍵字(推薦使用)