1. 程式人生 > >vue的風格指南

vue的風格指南

好記性不如爛筆頭,總想看到的東西想記錄一下。不是很全,因為有的不是很明白就沒記錄下來。

一 必要的 (如果您使用Vue就要用這樣的風格,個人理解。。)

  • 元件名為多個單詞(防止重名-根元件除外)
Vue.component('todo-item', {
 // ...
})
  • 元件資料(元件的data必須是一個函式-根元件除外)
// In a .vue file
export default {
  data () {
    return {
      foo: 'bar'
    }
  }
}

Vue.component('some-comp', {
  data: function
() {
return { foo: 'bar' } } })
  • prop定義應該儘量詳細(引數儘量補全)
    // 更好的做法!
    props: {
      status: {
        type: String,
        required: true,
        validator: function (value) {
          return [
            'syncing',
            'synced',
            'version-conflict',
            'error'
].indexOf(value) !== -1 } } }
  • 總是用 key 配合v-for
<ul>
  <li
    v-for="todo in todos"
    :key="todo.id"
  >
    {{ todo.text }}
  </li>
</ul>
  • 永遠不要把v-ifv-for同時用在同一個元素上。
<ul v-if="shouldShowUsers">
  <li
    v-for="user in users"
    :key
="user.id" >
{{ user.name }} </li> </ul>
  • 為元件設定區域性作用域,對於應用來說,頂級App元件和佈局元件中的樣式可以是全域性的,但是其它所有元件都應該是有作用域的。
<template>
  <button class="button button-close">X</button>
</template>

<!-- 使用 `scoped` 特性 -->
<style scoped>
    .button {
      border: none;
      border-radius: 2px;
    }

    .button-close {
      background-color: red;
    }
</style>

二 強烈推薦 (強烈推薦,可以使用,也可以不實用,使用的話是最好--增加可讀性)

  • 多個元件儘量不要寫在同一個.vue檔案中
  • 單檔案元件檔案的大小寫,單檔案元件的檔名應該要麼始終是單詞大寫開頭 (PascalCase),要麼始終是橫線連線 (kebab-case)。
  • 基礎元件名,應用特定樣式和約定的基礎元件 (也就是展示類的、無邏輯的或無狀態的元件) 應該全部以一個特定的字首開頭,比如 BaseAppV
<template>
  <button class="button button-close">X</button>
</template>

<!-- 使用 `scoped` 特性 -->
<style scoped>
    .button {
      border: none;
      border-radius: 2px;
    }

    .button-close {
      background-color: red;
    }
</style>
  • 模版中儘量不要使用複雜的表示式,可以通過計算屬性書寫複雜的表示式
<!-- 在模板中html -->
{{ normalizedFullName }}


// 複雜表示式已經移入一個計算屬性js
computed: {
  normalizedFullName: function () {
    return this.fullName.split(' ').map(function (word) {
      return word[0].toUpperCase() + word.slice(1)
    }).join(' ')
  }
}
  • 指令縮寫 (用 : 表示 v-bind:和用 @ 表示 v-on:) 應該要麼都用要麼都不用。

三 推薦(推薦,可以使用,也可以不實用)

  • 元件/例項的選項應該有統一的順序。這是我們推薦的元件選項預設順序。它們被劃分為幾大類,所以你也能知道從外掛裡新增的新屬性應該放到哪裡。
    1. 副作用 (觸發元件外的影響)
      • el:
    2. 全域性感知 (要求元件以外的知識)
      • name:
      • parent:
    3. 元件型別 (更改元件的型別)
      • functional:
    4. 模板修改器 (改變模板的編譯方式)
      • delimiters:
      • comments:
    5. 模板依賴 (模板內使用的資源)
      • components:
      • delimiters:
      • filters:
    6. 組合 (向選項裡合併屬性)
      • extends:
      • mixins:
    7. 介面 (元件的介面)
      • inheritAttrs:
      • model:
      • props/propsData
    8. 本地狀態 (本地的響應式屬性)
      • data:
      • computed:
    9. 事件 (通過響應式事件觸發的回撥)
      • watch:
      • 生命週期鉤子 (按照它們被呼叫的順序)
    10. 非響應式的屬性 (不依賴響應系統的例項屬性)
      • methods:
    11. 渲染 (元件輸出的宣告式描述)
      • template/render
      • renderError:
  • 元素 (包括元件) 的特性應該有統一的順序。
    1. 定義 (提供元件的選項)
      • is
    2. 列表渲染 (建立多個變化的相同元素)
      • v-for
    3. 條件渲染 (元素是否渲染/顯示)
      • v-if
      • v-else-if
      • v-else
      • v-show
      • v-cloak
    4. 渲染方式 (改變元素的渲染方式)
      • v-pre
      • v-once
    5. 全域性感知 (需要超越元件的知識)
      • id
    6. 唯一的特性 (需要唯一值的特性)
      • ref
      • key
      • slot
    7. 雙向繫結 (把繫結和事件結合起來)
      • v-model:
    8. 其他特性 (所有普通的繫結或未繫結的特性)
    9. 事件 (元件事件監聽器)
      • v-on
    10. 內容 (覆蓋元素的內容)
      • v-html
      • v-text

四 謹慎使用(儘量少使用)

-元素選擇器應該避免在scoped中出現。

<template>
  <button class="btn btn-close">X</button>
</template>

<style scoped>
.btn-close {
  background-color: red;
}
</style>

相關推薦

Vue風格指南 - v-if/v-else-if/v-else下的key

else edit lse pkg nbsp 識別 之間 submit -i 沒有在 v-if/v-if-else/v-else 中使用 key 謹慎使用 如果一組 v-if + v-else 的元素類型相同,最好使用 key (比如兩個 <div> 元素)。

Vue精簡版風格指南

methods 包含 user 分類 sid body btn stat better 前面的話   Vue官網的風格指南按照優先級(依次為必要、強烈推薦、推薦、謹慎使用)分類,且代碼間隔較大,不易查詢。本文按照類型分類,並對部分示例或解釋進行縮減,是Vue風格指南的精簡

vue風格指南

好記性不如爛筆頭,總想看到的東西想記錄一下。不是很全,因為有的不是很明白就沒記錄下來。 一 必要的 (如果您使用Vue就要用這樣的風格,個人理解。。) 元件名為多個單詞(防止重名-根元件除外) Vue.component('todo-ite

Vue.js命名風格指南

前言 本命名風格指南推薦了一種統一的命名規範來編寫 Vue.js 程式碼。這使得程式碼具有如下的特性: 統一團隊的命名規範,其它開發者或是團隊成員更容易上手閱讀和理解。 IDEs 更容易理解程式碼,從而提供高亮、格式化等輔助功能。 本指南只是個人總結歸納的,僅作為一種參考。 命名分類 現在常用的vue命名

文案風格指南

gui adding style pac span www title tro ant 文案風格指南豌豆莢文案寫作風格指南LeanCloud Documentation參考文檔 文案風格指南

vue.js指南

emit document fun 開頭 創建 func temp one 屬性和方法 1.創建在new Vue()之前 Vue.component("name",{//組件名字   props:‘‘prop_name" //屬性名字   template:"<

學習筆記:google c++ 編程風格指南

put rtu 操作符重載 同名 vmm foo 靜態數據成員 友元類 for 目錄:一、頭文件.................................................二、作用域...................................

Google的JSON風格指南

github ogl google .com arc 官網 tar targe style 官網:https://google.github.io/styleguide/jsoncstyleguide.xml 中文版:https://github.com/darcyliu

Google代碼風格指南

mac google guide -s 約定 查看 blank 風格 emacs 官網:https://github.com/google/styleguide 中文版:https://github.com/zh-google-styleguide/zh-google-s

VUE】Electron-vue 打包指南

resolve div node npm electron 安裝 空白 cnpm clas 使用Electron-vue打包後運行空白 打包時出現 Unresolved node modules: vue 其實這些都不是問題,不要用cnpm去安裝依賴,使用npm安裝依賴後。

(轉)PEP 8——Python編碼風格指南

present directory bject xtra == acc making 嵌套 vertica PEP 8——Python編碼風格指南標簽(空格分隔): Python PEP8 編碼規範原文:https://lizhe2004.gitbooks.io/code-

轉---Google Python編程風格指南

復制 word 數據庫連接 一行代碼 cstring nta 減少 yield make 為幫助讀者能夠將代碼準確格式化,我們提供了針對 Vim的配置文件 。對於Emacs用戶,保持默認設置即可。  背景 Python 是 Google主要的腳本語言。這本風格指南主要包含的

python代碼風格指南:pep8 中文版

nic dex pip 運算符 定義 哪些 老版本 匹配 hat 本文檔所提供的編碼規範,適用於主要的Python發行版中組成標準庫的Python代碼。請參閱PEP關於Python的C實現的C編碼風格指南的描述。 本文檔和PEP257(文檔字符串規範)改編自Guido的《

【薦】Angular官方程式碼風格指南 (實用、贊)

原文出處:https://blog.csdn.net/fen747042796/article/details/78880424 本文為筆者對Angular官網風格指南的整理版本,刪除/增加了部分內容。另外,原文對每個規範都作出了原因的解釋,個別還有示例,需要的請點選檢視原文。 原連結:英文

Vue挖坑指南:[vue-router] Named Route 'XXX' has a default child route.

前言 OA系統,使用了路由的巢狀,希望在訪問子模組時,預設載入模組的預設路由。即為子模組設定預設路由 。 開始 我們先來看看,如何為子模組設定預設的路由。 這樣寫,會出現什麼問題呢?開啟控制檯看看。  實踐 vue-router給我們報了兩個警告,我們一個一個

Vue實戰指南之依賴注入(provide / inject)

案例 UI美眉說咱家的選項選單太醜了,小哥哥能不能美化一下呀,灑家自然是說小意思啦~ 自定義一個select元件,so easy~ 簡單粗暴型: <el-select v-model="favourite" :option="[]"></el-select> option作為資

Python程式碼風格指南&程式設計規範

1 前言         紛吾既有此內美兮,又重之以修能。 ---- 屈原《離騷》  1.1 編寫目的         本文用於指導我司使用python語言進行開發的人員。 1.2 範

Vue 初學指南

記錄繼續vue的學習   Mustache <span v-bind:title="msg"> {{ message }} </span> 資料繫結“Mustache”語法 (雙大括號{{xxx}}) 的文字插值,就瞭解一下他的名字M

Vue 初學指南

前言 一直做java開發,新公司,分配了前端的工作,一臉懵逼,有朋友說:你可以跑路了,肯定很坑 更多時候遇到這樣的情況害怕的不是自己不會等問題,而是更怕被技術甩掉一個世紀線------好好學習,天天向上   就把專案最接近的vue開始入手,官方不推薦使用腳手架cli的

10個方法幫你搞定Web設計風格指南

今時今日,網站的建立正變得越來越複雜,而且一般都不是一個人就能幹的了的。在建立網站過程中,我們需要保證設計前後一致,並符合業務目標,同時還要盡全力為使用者打造有趣的使用體驗。 為了確保整個團隊在設計網站各個組成部分或在改善開發人員設計成果時彼此之間能夠充分協調一致,你需