欧美亚洲综合图区在线|天天射天天干国产成卜|99久久免费国产精精品|国产的欧美一区二区三区|日韩中文字幕无码不卡专区|亚麻成人aV极品一区二区|国产成人AV区一区二区三|成人免费一区二区三区视频网站

當前位置:首頁 > 軟件開放 > 正文內容

vue基礎組件文件名符合規(guī)范的是(組件vue文件必須有的要素)

軟件開放2年前 (2023-02-10)1649

今天給各位分享vue基礎組件文件名符合規(guī)范的是的知識,其中也會對組件vue文件必須有的要素進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!

本文目錄一覽:

Vue在前端開發(fā)中需要注意什么

基于Vue官方風格指南整理

一、強制

1. 組件名為多個單詞

組件名應該始終是多個單詞的,根組件 App 除外。

正例:

export default {

name: 'TodoItem',

// ...

}

反例:

export default {

name: 'Todo',

// ...

}

2. 組件數據

組件的 data 必須是一個函數。

當在組件中使用 data 屬性的時候 (除了 new Vue 外的任何地方),它的值必須是返回一個對象的函數。

正例:

// In a .vue file

export default {

data () {

return {

foo: 'bar'

}

}

}

// 在一個 Vue 的根實例上直接使用對象是可以的,

// 因為只存在一個這樣的實例。

new Vue({

data: {

foo: 'bar'

}

})

反例:

export default {

data: {

foo: 'bar'

}

}

3. Prop定義

Prop 定義應該盡量詳細。

在你提交的代碼中,prop 的定義應該盡量詳細,至少需要指定其類型。

正例:

props: {

status: String

}

// 更好的做法!

props: {

status: {

type: String,

required: true,

validator: function (value) {

return [

'syncing',

'synced',

'version-conflict',

'error'

].indexOf(value) !== -1

}

}

}

反例:

// 這樣做只有開發(fā)原型系統(tǒng)時可以接受

props: ['status']

4. 為v-for設置鍵值

總是用 key 配合 v-for。

在組件上_總是_必須用 key 配合 v-for,以便維護內部組件及其子樹的狀態(tài)。甚至在元素上維護可預測的行為,比如動畫中的對象固化 (object constancy),也是一種好的做法。

正例:

ul

li

v-for="todo in todos"

:key="todo.id"

{{ todo.text }}

/li

/ul

反例:

ul

li v-for="todo in todos"

{{ todo.text }}

/li

/ul

5.避免 v-if 和 v-for 用在一起

永遠不要把 v-if 和 v-for 同時用在同一個元素上。

一般我們在兩種常見的情況下會傾向于這樣做:

為了過濾一個列表中的項目 (比如 v-for="user in users" v-if="user.isActive")。在這種情形下,請將 users 替換為一個計算屬性 (比如 activeUsers),讓其返回過濾后的列表。

為了避免渲染本應該被隱藏的列表 (比如 v-for="user in users" v-if="shouldShowUsers")。這種情形下,請將 v-if 移動至容器元素上 (比如 ul, ol)。

正例:

ul v-if="shouldShowUsers"

li

v-for="user in users"

:key="user.id"

{{ user.name }}

/li

/ul

反例:

ul

li

v-for="user in users"

v-if="shouldShowUsers"

:key="user.id"

{{ user.name }}

/li

/ul

6. 為組件樣式設置作用域

對于應用來說,頂級 App 組件和布局組件中的樣式可以是全局的,但是其它所有組件都應該是有作用域的。

這條規(guī)則只和單文件組件有關。你不一定要使用 scoped 特性。設置作用域也可以通過 CSS Modules,那是一個基于 class 的類似 BEM 的策略,當然你也可以使用其它的庫或約定。

不管怎樣,對于組件庫,我們應該更傾向于選用基于 class 的策略而不是 scoped 特性。

這讓覆寫內部樣式更容易:使用了常人可理解的 class 名稱且沒有太高的選擇器優(yōu)先級,而且不太會導致沖突。

正例:

template

button class="c-Button c-Button--close"X/button

/template

!-- 使用 BEM 約定 --

style

.c-Button {

border: none;

border-radius: 2px;

}

.c-Button--close {

background-color: red;

}

/style

反例:

template

button class="btn btn-close"X/button

/template

style

.btn-close {

background-color: red;

}

/style

template

button class="button button-close"X/button

/template

!-- 使用 `scoped` 特性 --

style scoped

.button {

border: none;

border-radius: 2px;

}

.button-close {

background-color: red;

}

/style

二、強烈推薦(增強可讀性)

1. 組件文件

只要有能夠拼接文件的構建系統(tǒng),就把每個組件單獨分成文件。

當你需要編輯一個組件或查閱一個組件的用法時,可以更快速的找到它。

正例:

components/

|- TodoList.vue

|- TodoItem.vue

反例:

V

ue.component('TodoList', {

// ...

})

Vue.component('TodoItem', {

// ...

})

2. 單文件組件文件的大小寫

單文件組件的文件名應該要么始終是單詞大寫開頭 (PascalCase)

正例:

components/

|- MyComponent.vue

反例:

components/

|- myComponent.vue

|- mycomponent.vue

3. 基礎組件名

應用特定樣式和約定的基礎組件 (也就是展示類的、無邏輯的或無狀態(tài)的組件) 應該全部以一個特定的前綴開頭,比如 Base、App 或 V。

正例:

components/

|- BaseButton.vue

|- BaseTable.vue

|- BaseIcon.vue

反例:

components/

|- MyButton.vue

|- VueTable.vue

|- Icon.vue

4. 單例組件名

只應該擁有單個活躍實例的組件應該以 The 前綴命名,以示其唯一性。

這不意味著組件只可用于一個單頁面,而是每個頁面只使用一次。這些組件永遠不接受任何 prop,因為它們是為你的應用定制的,而不是它們在你的應用中的上下文。如果你發(fā)現有必要添加 prop,那就表明這實際上是一個可復用的組件,只是目前在每個頁面里只使用一次。

正例:

components/

|- TheHeading.vue

|- TheSidebar.vue

反例:

components/

|- Heading.vue

|- MySidebar.vue

5. 緊密耦合的組件名

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

如果一個組件只在某個父組件的場景下有意義,這層關系應該體現在其名字上。因為編輯器通常會按字母順序組織文件,所以這樣做可以把相關聯的文件排在一起。

正例:

components/

|- TodoList.vue

|- TodoListItem.vue

|- TodoListItemButton.vue

components/

|- SearchSidebar.vue

|- SearchSidebarNavigation.vue

反例:

components/

|- SearchSidebar.vue

|- NavigationForSearchSidebar.vue

6. 組件名中的單詞順序

組件名應該以高級別的 (通常是一般化描述的) 單詞開頭,以描述性的修飾詞結尾。

正例:

components/

|- SearchButtonClear.vue

|- SearchButtonRun.vue

|- SearchInputQuery.vue

|- SearchInputExcludeGlob.vue

|- SettingsCheckboxTerms.vue

|- SettingsCheckboxLaunchOnStartup.vue

反例:

components/

|- ClearSearchButton.vue

|- ExcludeFromSearchInput.vue

|- LaunchOnStartupCheckbox.vue

|- RunSearchButton.vue

|- SearchInput.vue

|- TermsCheckbox.vue

7. 模板中的組件名大小寫

總是 PascalCase 的

正例:

!-- 在單文件組件和字符串模板中 --

MyComponent/

反例:

!-- 在單文件組件和字符串模板中 --

mycomponent/

!-- 在單文件組件和字符串模板中 --

myComponent/

8. 完整單詞的組件名

組件名應該傾向于完整單詞而不是縮寫。

正例:

components/

|- StudentDashboardSettings.vue

|- UserProfileOptions.vue

反例:

components/

|- SdSettings.vue

|- UProfOpts.vue

9. 多個特性的元素

多個特性的元素應該分多行撰寫,每個特性一行。

正例:

img

src="htorg/images/logo.png"

alt="Vue Logo"

MyComponent

foo="a"

bar="b"

baz="c"

/

反例:

img src="h/logo.png" alt="Vue Logo"

MyComponent foo="a" bar="b" baz="c"/

10. 模板中簡單的表達式

組件模板應該只包含簡單的表達式,復雜的表達式則應該重構為計算屬性或方法。

復雜表達式會讓你的模板變得不那么聲明式。我們應該盡量描述應該出現的是什么,而非如何計算那個值。而且計算屬性和方法使得代碼可以重用。

Vue 單文件組件 (SFC) 規(guī)范

模板

腳本

樣式

簡介

.vue 文件是一個 自定義的文件類型 ,用類 HTML 語法描述一個 Vue 組件。

每個 .vue 文件包含三種類型的頂級語言塊 template、script 和 style,還允許添加可選的 自定義塊 。

Vue項目中的文件/文件夾命名規(guī)范

展開node_modules中的項目依賴,會發(fā)現,幾乎所有的項目文件夾命名都是 kebab-case 命名的, 使用 kebab-case 命名的文件夾比 camelCase 命名的文件夾看起來更清晰

vue的官方的風格指南 中關于組件文件名的推薦:

index.js 中導出組件方式如下:

關于vue基礎組件文件名符合規(guī)范的是和組件vue文件必須有的要素的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。

掃描二維碼推送至手機訪問。

版權聲明:本文由飛速云SEO網絡優(yōu)化推廣發(fā)布,如需轉載請注明出處。

本文鏈接:http://landcheck.net/post/7772.html

分享給朋友:

“vue基礎組件文件名符合規(guī)范的是(組件vue文件必須有的要素)” 的相關文章

制作app平臺需要多少錢(制作軟件app需要多少錢)

制作app平臺需要多少錢(制作軟件app需要多少錢)

今天給各位分享制作app平臺需要多少錢的知識,其中也會對制作軟件app需要多少錢進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!本文目錄一覽: 1、開發(fā)一個手機APP要多少錢 2、開發(fā)一個APP需要多少錢 3、做一個app要多少錢? 4、做個app軟件大約多少錢?...

ansible批量修改服務器密碼(ansible sudo 需要密碼)

ansible批量修改服務器密碼(ansible sudo 需要密碼)

今天給各位分享ansible批量修改服務器密碼的知識,其中也會對ansible sudo 需要密碼進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!本文目錄一覽: 1、Ansible安裝配置和基本使用 2、使用Ansible實現自動化運維的一些技巧 3、使用ansible...

用Python設計小游戲(python設計小游戲誰先走到17誰就贏)

用Python設計小游戲(python設計小游戲誰先走到17誰就贏)

本篇文章給大家談談用Python設計小游戲,以及python設計小游戲誰先走到17誰就贏對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、Python實現消消樂小游戲 2、用Python寫一個簡單的小游戲 3、python簡單小游戲代碼 怎么用Python制作簡單小...

陽臺的裝修設計圖片大全(陽臺的裝修設計圖片大全集)

陽臺的裝修設計圖片大全(陽臺的裝修設計圖片大全集)

本篇文章給大家談談陽臺的裝修設計圖片大全,以及陽臺的裝修設計圖片大全集對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、陽臺頂部裝修效果圖 小陽臺怎么設計 2、一樓陽臺裝修效果圖 6款陽臺設計隨你選 3、主臥陽臺裝修效果圖 多款溫馨雅致的室內陽臺設計 陽臺頂部裝修...

新手怎么把源碼做成軟件(新手怎么把源碼做成軟件手機操作)

新手怎么把源碼做成軟件(新手怎么把源碼做成軟件手機操作)

今天給各位分享新手怎么把源碼做成軟件的知識,其中也會對新手怎么把源碼做成軟件手機操作進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!本文目錄一覽: 1、想要將一段源代碼改變成一個程序,怎樣做才能成功? 2、用C語言編寫的程序怎么把它做成可以運用的軟件 3、如何自己編程序...

游戲流量包怎么購買(如何購買流量包?)

游戲流量包怎么購買(如何購買流量包?)

今天給各位分享游戲流量包怎么購買的知識,其中也會對如何購買流量包?進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!本文目錄一覽: 1、如何訂購流量包? 2、王者榮耀移動流量包怎么買 移動專屬流量包購 3、如何訂購愛游戲-騰訊手游專屬流量包? 如何訂購流量包? 如果是聯...

宁明县| 饶河县| 定边县| 江源县| 泰来县| 岳阳市| 扶风县| 白河县| 拉萨市| 固原市| 乌鲁木齐市| 巴里| 临夏市| 故城县| 正蓝旗| 阿尔山市| 陵水| 泗水县| 同心县| 如皋市| 岐山县| 镇赉县| 炉霍县| 文成县| 淄博市| 南澳县| 西充县| 普兰县| 宜良县| 都兰县| 贞丰县| 澄迈县| 灵宝市| 房山区| 朝阳区| 北流市| 芷江| 杭锦后旗| 临武县| 团风县| 搜索|