## [**API**](https://cn.vuejs.org/v2/api/#%E5%AE%9E%E4%BE%8B%E5%B1%9E%E6%80%A7)
[**全局配置**](https://cn.vuejs.org/v2/api/#%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE)
```
Vue.config.xxx = xxx
```
* [silent](https://cn.vuejs.org/v2/api/#silent) -- 取消 Vue 所有的日志與警告,默認值為**false**
* [optionMergeStrategies](https://cn.vuejs.org/v2/api/#optionMergeStrategies) -- 自定義合并策略的選項,默認值為`{}`
* [devtools](https://cn.vuejs.org/v2/api/#devtools) -- 配置是否允許[vue-devtools](https://github.com/vuejs/vue-devtools)檢查代碼。開發版本默認為`true`,生產版本默認為`false`
* [errorHandler](https://cn.vuejs.org/v2/api/#errorHandler) -- 指定組件的渲染和觀察期間未捕獲錯誤的處理函數。這個處理函數被調用時,可獲取錯誤信息和 Vue 實例 ,默認 `undefined`
* [warnHandler](https://cn.vuejs.org/v2/api/#warnHandler) -- 為 Vue 的運行時警告賦予一個自定義處理函數。注意這只會在開發者環境下生效,默認 `undefined`
* [ignoredElements](https://cn.vuejs.org/v2/api/#ignoredElements) -- 忽略在 Vue 之外的自定義元素,默認值:`[]`
* [keyCodes](https://cn.vuejs.org/v2/api/#keyCodes) -- 給`v-on`自定義鍵位別名,默認 `{}`
* [performance](https://cn.vuejs.org/v2/api/#performance) -- 設置為`true`以在瀏覽器開發工具的性能/時間線面板中啟用對組件初始化、編譯、渲染和打補丁的性能追蹤。只適用于開發模式和支持[`performance.mark`](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark)API 的瀏覽器上,默認 `false`
* [productionTip](https://cn.vuejs.org/v2/api/#productionTip) -- 設置為`false`以阻止 vue 在啟動時生成生產提示,默認值為`true`
[**全局 API**](https://cn.vuejs.org/v2/api/#%E5%85%A8%E5%B1%80-API)
* [Vue.extend(Object)](https://cn.vuejs.org/v2/api/#Vue-extend) -- 使用基礎 Vue 構造器,創建一個“子類”。參數是一個包含組件選項的對象。(`data`選項是特例,需要注意 - 在`Vue.extend()`中data必須是函數)
* [Vue.nextTick( [callback, context] )](https://cn.vuejs.org/v2/api/#Vue-nextTick) -- 在下次 DOM 更新循環結束之后執行延遲回調。在修改數據之后立即使用這個方法,獲取更新后的 DOM
* [Vue.set( target, propertyName/index, value )](https://cn.vuejs.org/v2/api/#Vue-set) -- 向`響應式對象`中添加一個屬性,并確保這個新屬性同樣是響應式的,且觸發視圖更新。
* [Vue.delete( target, propertyName/index )](https://cn.vuejs.org/v2/api/#Vue-delete) -- 刪除對象的屬性。如果對象是響應式的,確保刪除能觸發更新視圖。這個方法主要用于避開 Vue 不能檢測到屬性被刪除的限制,但是你應該很少會使用它。
* [Vue.directive( id, [definition] )](https://cn.vuejs.org/v2/api/#Vue-directive) -- 注冊或獲取全局指令。
* [Vue.filter( id, [definition] )](https://cn.vuejs.org/v2/api/#Vue-filter) -- 注冊或獲取全局過濾器。
* [Vue.component( id, [definition] )](https://cn.vuejs.org/v2/api/#Vue-component) -- 注冊或獲取全局組件。注冊還會自動使用給定的`id`設置組件的名稱
* [Vue.use( plugin )](https://cn.vuejs.org/v2/api/#Vue-use) -- 安裝 Vue.js 插件
* [Vue.mixin(mixinObj)](https://cn.vuejs.org/v2/api/#Vue-mixin) -- 全局注冊一個混入,影響注冊之后所有創建的每個 Vue 實例
* [Vue.compile( template )](https://cn.vuejs.org/v2/api/#Vue-compile) -- 在 render 函數中編譯模板字符串。**只在獨立構建時有效**
* [Vue.observable( object )](https://cn.vuejs.org/v2/api/#Vue-observable) -- 讓一個對象可響應。Vue 內部會用它來處理`data`函數返回的對象
* [Vue.version](https://cn.vuejs.org/v2/api/#Vue-version) -- 字符串形式的 Vue 安裝版本號
[選**項 / 數據**](https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E6%95%B0%E6%8D%AE)
* [data](https://cn.vuejs.org/v2/api/#data) -- Vue 實例的數據對象
* [props](https://cn.vuejs.org/v2/api/#props) -- 接收來自父組件的數據(用于給html標簽給定默認值或者form表單驗證)
* [propsData](https://cn.vuejs.org/v2/api/#propsData) -- 創建實例時傳遞 props。主要作用是方便測試(只用于`new`創建的實例中)
* [computed](https://cn.vuejs.org/v2/api/#computed) -- 計算屬性將被混入到 Vue 實例中。所有 getter 和 setter 的 this 上下文自動地綁定為 Vue 實例
* [methods](https://cn.vuejs.org/v2/api/#methods) -- methods 將被混入到 Vue 實例中。可以直接通過 VM 實例訪問這些方法,或者在指令表達式中使用。方法中的`this`自動綁定為 Vue 實例(定義Vue實例對象可調用的方法)
* [watch](https://cn.vuejs.org/v2/api/#watch) -- 一個對象,鍵是需要觀察的表達式,值是對應回調函數。值也可以是方法名,或者包含選項的對象。Vue 實例將會在實例化時調用`$watch()`,遍歷 watch 對象的每一個屬性
[**選項 / DOM**](https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-DOM)
* [el](https://cn.vuejs.org/v2/api/#el) -- 提供一個在頁面上已存在的 DOM 元素作為 Vue 實例的掛載目標。可以是 CSS 選擇器,也可以是一個 HTMLElement 實例(只在用`new`創建實例時生效)
* [template](https://cn.vuejs.org/v2/api/#template) -- 一個字符串模板作為 Vue 實例的標識使用。模板將會**替換**掛載的元素。掛載元素的內容都將被忽略,除非模板的內容有分發插槽
* [render](https://cn.vuejs.org/v2/api/#render) -- 字符串模板的代替方案,允許你發揮 JavaScript 最大的編程能力。該渲染函數接收一個`createElement`方法作為第一個參數用來創建`VNode`
* [renderError](https://cn.vuejs.org/v2/api/#renderError) -- 當`render`函數遭遇錯誤時,提供另外一種渲染輸出。其錯誤將會作為第二個參數傳遞到`renderError`。這個功能配合 hot-reload 非常實用(只在開發者環境下工作)
[**選項 / 生命周期鉤子**](https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E9%92%A9%E5%AD%90)

* [beforeCreate](https://cn.vuejs.org/v2/api/#beforeCreate) -- 在實例初始化之后,數據觀測 (data observer) 和 event/watcher 事件配置之前被調用
* [created](https://cn.vuejs.org/v2/api/#created) -- 在實例創建完成后被立即調用。在這一步,實例已完成以下的配置:數據觀測 (data observer),屬性和方法的運算,watch/event 事件回調。然而,掛載階段還沒開始,`$el`屬性目前不可見
* [beforeMount](https://cn.vuejs.org/v2/api/#beforeMount) -- 在掛載開始之前被調用:相關的`render`函數首次被調用(**該鉤子在服務器端渲染期間不被調用**)
* [mounted](https://cn.vuejs.org/v2/api/#mounted) -- `el`被新創建的`vm.$el`替換,并掛載到實例上去之后調用該鉤子(**該鉤子在服務器端渲染期間不被調用**)
* [beforeUpdate](https://cn.vuejs.org/v2/api/#beforeUpdate) -- 數據更新時調用,發生在虛擬 DOM 打補丁之前。這里適合在更新之前訪問現有的 DOM,比如手動移除已添加的事件監聽器(**該鉤子在服務器端渲染期間不被調用,因為只有初次渲染會在服務端進行**)
* [updated](https://cn.vuejs.org/v2/api/#updated) -- 由于數據更改導致的虛擬 DOM 重新渲染和打補丁,在這之后會調用該鉤子(**該鉤子在服務器端渲染期間不被調用**)
* [activated](https://cn.vuejs.org/v2/api/#activated) -- keep-alive 組件激活時調用(**該鉤子在服務器端渲染期間不被調用**)
* [deactivated](https://cn.vuejs.org/v2/api/#deactivated) -- keep-alive 組件停用時調用(**該鉤子在服務器端渲染期間不被調用**)
* [beforeDestroy](https://cn.vuejs.org/v2/api/#beforeDestroy) -- 實例銷毀之前調用。在這一步,實例仍然完全可用(**該鉤子在服務器端渲染期間不被調用**)
* [destroyed](https://cn.vuejs.org/v2/api/#destroyed) -- Vue 實例銷毀后調用。調用后,Vue 實例指示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子實例也會被銷毀(**該鉤子在服務器端渲染期間不被調用**)
* [errorCaptured](https://cn.vuejs.org/v2/api/#errorCaptured) -- 當捕獲一個來自子孫組件的錯誤時被調用
[**選項 / 資源**](https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E8%B5%84%E6%BA%90)
* [directives](https://cn.vuejs.org/v2/api/#directives) -- 包含 Vue 實例可用指令的哈希表
* [filters](https://cn.vuejs.org/v2/api/#filters) -- 包含 Vue 實例可用過濾器的哈希表
* [components](https://cn.vuejs.org/v2/api/#components) -- 包含 Vue 實例可用組件的哈希表
[**選項 / 組合**](https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E7%BB%84%E5%90%88)
* [parent](https://cn.vuejs.org/v2/api/#parent) -- 指定已創建的實例之父實例,在兩者之間建立父子關系。子實例可以用`this.$parent`訪問父實例,子實例被推入父實例的`$children`數組中
* [mixins](https://cn.vuejs.org/v2/api/#mixins) -- `mixins`選項接受一個混入對象的數組。這些混入實例對象可以像正常的實例對象一樣包含選項,他們將在`Vue.extend()`里最終選擇使用相同的選項合并邏輯合并
* [extends](https://cn.vuejs.org/v2/api/#extends) -- 允許聲明擴展另一個組件(可以是一個簡單的選項對象或構造函數),而無需使用`Vue.extend`。這主要是為了便于擴展單文件組件
* [provide / inject](https://cn.vuejs.org/v2/api/#provide-inject) -- 這對選項需要一起使用,以允許一個祖先組件向其所有子孫后代注入一個依賴,不論組件層次有多深,并在起上下游關系成立的時間里始終生效
[**選項 / 其它**](https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E5%85%B6%E5%AE%83)
* [name](https://cn.vuejs.org/v2/api/#name) -- 允許組件模板遞歸地調用自身。注意,組件在全局用`Vue.component()`注冊時,全局 ID 自動作為組件的 name
* [delimiters](https://cn.vuejs.org/v2/api/#delimiters) -- 改變純文本插入分隔符。
* [functional](https://cn.vuejs.org/v2/api/#functional) -- 使組件無狀態 (沒有`data`) 和無實例 (沒有`this`上下文)。他們用一個簡單的`render`函數返回虛擬節點使他們更容易渲染
* [model](https://cn.vuejs.org/v2/api/#model) -- 允許一個自定義組件在使用`v-model`時定制 prop 和 event。默認情況下,一個組件上的`v-model`會把`value`用作 prop 且把`input`用作 event,但是一些輸入類型比如單選框和復選框按鈕可能想使用`value`prop 來達到不同的目的。使用`model`選項可以回避這些情況產生的沖突。
* [inheritAttrs](https://cn.vuejs.org/v2/api/#inheritAttrs) -- 默認情況下父作用域的不被認作 props 的特性綁定 (attribute bindings) 將會“回退”且作為普通的 HTML 特性應用在子組件的根元素上。當撰寫包裹一個目標元素或另一個組件的組件時,這可能不會總是符合預期行為。通過設置`inheritAttrs`到`false`,這些默認行為將會被去掉。而通過 (同樣是 2.4 新增的) 實例屬性`$attrs`可以讓這些特性生效,且可以通過`v-bind`顯性的綁定到非根元素上。
* [comments](https://cn.vuejs.org/v2/api/#comments) -- 當設為`true`時,將會保留且渲染模板中的 HTML 注釋。默認行為是舍棄它們。
[**實例屬性**](https://cn.vuejs.org/v2/api/#%E5%AE%9E%E4%BE%8B%E5%B1%9E%E6%80%A7)
* [vm.$data](https://cn.vuejs.org/v2/api/#vm-data) -- Vue 實例觀察的數據對象。Vue 實例代理了對其 data 對象屬性的訪問
* [vm.$props](https://cn.vuejs.org/v2/api/#vm-props) -- 當前組件接收到的 props 對象。Vue 實例代理了對其 props 對象屬性的訪問。
* [vm.$el](https://cn.vuejs.org/v2/api/#vm-el) -- Vue 實例使用的根 DOM 元素
* [vm.$options](https://cn.vuejs.org/v2/api/#vm-options) -- 用于當前 Vue 實例的初始化選項。需要在選項中包含自定義屬性時會有用處
* [vm.$parent](https://cn.vuejs.org/v2/api/#vm-parent) -- 父實例,如果當前實例有的話
* [vm.$root](https://cn.vuejs.org/v2/api/#vm-root) -- 當前組件樹的根 Vue 實例。如果當前實例沒有父實例,此實例將會是其自己
* [vm.$children](https://cn.vuejs.org/v2/api/#vm-children) -- 當前實例的直接子組件。**需要注意`$children`并不保證順序,也不是響應式的**
* [vm.$slots](https://cn.vuejs.org/v2/api/#vm-slots) -- 用來訪問被[插槽分發](https://cn.vuejs.org/v2/guide/components.html#%E9%80%9A%E8%BF%87%E6%8F%92%E6%A7%BD%E5%88%86%E5%8F%91%E5%86%85%E5%AE%B9)的內容。每個[具名插槽](https://cn.vuejs.org/v2/guide/components-slots.html#%E5%85%B7%E5%90%8D%E6%8F%92%E6%A7%BD)有其相應的屬性
* [vm.$scopedSlots](https://cn.vuejs.org/v2/api/#vm-scopedSlots) -- 用來訪問[作用域插槽](https://cn.vuejs.org/v2/guide/components-slots.html#%E4%BD%9C%E7%94%A8%E5%9F%9F%E6%8F%92%E6%A7%BD)。對于包括`默認 slot`在內的每一個插槽,該對象都包含一個返回相應 VNode 的函數。
* [vm.$refs](https://cn.vuejs.org/v2/api/#vm-refs) -- 一個對象,持有注冊過[`ref`特性](https://cn.vuejs.org/v2/api/#ref)的所有 DOM 元素和組件實例。
* [vm.$isServer](https://cn.vuejs.org/v2/api/#vm-isServer) -- 當前 Vue 實例是否運行于服務器。
* [vm.$attrs](https://cn.vuejs.org/v2/api/#vm-attrs) -- 包含了父作用域中不作為 prop 被識別 (且獲取) 的特性綁定 (`class`和`style`除外)
* [vm.$listeners](https://cn.vuejs.org/v2/api/#vm-listeners) -- 包含了父作用域中的 (不含`.native`修飾器的)`v-on`事件監聽器
[**實例方法 / 數據**](https://cn.vuejs.org/v2/api/#%E5%AE%9E%E4%BE%8B%E6%96%B9%E6%B3%95-%E6%95%B0%E6%8D%AE)
* [vm.$watch](https://cn.vuejs.org/v2/api/#vm-watch) -- 觀察 Vue 實例變化的一個表達式或計算屬性函數。回調函數得到的參數為新值和舊值。表達式只接受監督的鍵路徑。對于更復雜的表達式,用一個函數取代
* [vm.$set](https://cn.vuejs.org/v2/api/#vm-set) -- 這是全局`Vue.set`的**別名**。
* [vm.$delete](https://cn.vuejs.org/v2/api/#vm-delete) -- 這是全局`Vue.delete`的**別名**。
[**實例方法 / 事件**](https://cn.vuejs.org/v2/api/#%E5%AE%9E%E4%BE%8B%E6%96%B9%E6%B3%95-%E4%BA%8B%E4%BB%B6)
* [vm.$on](https://cn.vuejs.org/v2/api/#vm-on) -- 監聽當前實例上的自定義事件。事件可以由`vm.$emit`觸發。回調函數會接收所有傳入事件觸發函數的額外參數。
* [vm.$once](https://cn.vuejs.org/v2/api/#vm-once) -- 監聽一個自定義事件,但是只觸發一次。一旦觸發之后,監聽器就會被移除。
* [vm.$off](https://cn.vuejs.org/v2/api/#vm-off) -- 移除自定義事件監聽器
* [vm.$emit](https://cn.vuejs.org/v2/api/#vm-emit) -- 觸發當前實例上的事件。附加參數都會傳給監聽器回調
[**實例方法 / 生命周期**](https://cn.vuejs.org/v2/api/#%E5%AE%9E%E4%BE%8B%E6%96%B9%E6%B3%95-%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F)
* [vm.$mount](https://cn.vuejs.org/v2/api/#vm-mount) -- 如果 Vue 實例在實例化時沒有收到 el 選項,則它處于“未掛載”狀態,沒有關聯的 DOM 元素。可以使用`vm.$mount()`手動地掛載一個未掛載的實例
* [vm.$forceUpdate](https://cn.vuejs.org/v2/api/#vm-forceUpdate) -- 迫使 Vue 實例重新渲染。注意它僅僅影響實例本身和插入插槽內容的子組件,而不是所有子組件。
* [vm.$nextTick](https://cn.vuejs.org/v2/api/#vm-nextTick) -- 將回調延遲到下次 DOM 更新循環之后執行。在修改數據之后立即使用它,然后等待 DOM 更新。它跟全局方法`Vue.nextTick`一樣,不同的是回調的`this`自動綁定到調用它的實例上
* [vm.$destroy](https://cn.vuejs.org/v2/api/#vm-destroy) -- 完全銷毀一個實例。清理它與其它實例的連接,解綁它的全部指令及事件監聽器
[**指令**](https://cn.vuejs.org/v2/api/#%E6%8C%87%E4%BB%A4)(模板語法)
```
xxx 代表指令 即模版屬性
<span xxx=""><span>
```
* [v-text](https://cn.vuejs.org/v2/api/#v-text) -- 更新元素的`textContent` 同`{{msg}}`
* [v-html](https://cn.vuejs.org/v2/api/#v-html) -- 更新(輸出)的`innerHTML`(用于輸出 html 代碼)
* [v-show](https://cn.vuejs.org/v2/api/#v-show) -- 根據表達式之真假值,切換元素的`display`CSS 屬性,當條件變化時該指令觸發過渡效果
* [v-if](https://cn.vuejs.org/v2/api/#v-if) -- 根據表達式的值的真假條件渲染元素,當條件變化時該指令觸發過渡效果
* [v-else](https://cn.vuejs.org/v2/api/#v-else) -- 為`v-if`或者`v-else-if`添加“else 塊”
* [v-else-if](https://cn.vuejs.org/v2/api/#v-else-if) -- 表示`v-if`的 “else if 塊”。可以鏈式調用
* [v-for](https://cn.vuejs.org/v2/api/#v-for) -- 基于源數據多次循環渲染元素或模板塊,值為`"value in arrays"`
* [v-on](https://cn.vuejs.org/v2/api/#v-on) -- 綁定事件監聽器。事件由此參數指定 ,縮寫`@`
* [v-bind](https://cn.vuejs.org/v2/api/#v-bind) -- 動態地綁定一個或多個屬性(如 src、class、type、name等),或一個組件 prop 到表達式
* [v-model](https://cn.vuejs.org/v2/api/#v-model) -- 在表單控件的值與組件上data的值創建雙向綁定 任一改變,另一個都改變。[表單控件綁定](https://cn.vuejs.org/v2/guide/forms.html)
* [v-slot](https://cn.vuejs.org/v2/api/#v-slot) -- 提供具名插槽或需要接收 prop 的插槽
* [v-pre](https://cn.vuejs.org/v2/api/#v-pre) -- 跳過這個元素和它的子元素的編譯過程。可以用來顯示原始 Mustache 標簽。跳過大量沒有指令的節點會加快編譯
* [v-cloak](https://cn.vuejs.org/v2/api/#v-cloak) -- 這個指令保持在元素上直到關聯實例結束編譯。和 CSS 規則如`[v-cloak] { display: none }`一起用時,這個指令可以隱藏未編譯的 Mustache 標簽直到實例準備完畢
* [v-once](https://cn.vuejs.org/v2/api/#v-once) -- 只渲染元素和組件**一次**。隨后的重新渲染,元素/組件及其所有的子節點將被視為靜態內容并跳過。這可以用于優化更新性能
[**特殊特性**](https://cn.vuejs.org/v2/api/#%E7%89%B9%E6%AE%8A%E7%89%B9%E6%80%A7)
* [key](https://cn.vuejs.org/v2/api/#key) -- 用在 Vue 的虛擬 DOM 算法,使用 key,它會基于 key 的變化重新排列元素順序,并且會移除 key 不存在的元素 一般在v-for里用的多
* [ref](https://cn.vuejs.org/v2/api/#ref) -- `ref`被用來給元素或子組件注冊引用信息
* [is](https://cn.vuejs.org/v2/api/#is) --用于[動態組件](https://cn.vuejs.org/v2/guide/components.html#%E5%8A%A8%E6%80%81%E7%BB%84%E4%BB%B6)且基于[DOM 內模板的限制](https://cn.vuejs.org/v2/guide/components.html#%E8%A7%A3%E6%9E%90-DOM-%E6%A8%A1%E6%9D%BF%E6%97%B6%E7%9A%84%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9)來工作
* [slot](https://cn.vuejs.org/v2/api/#slot-%E5%BA%9F%E5%BC%83) -- 廢棄,**推薦 2.6.0 新增的[v-slot](https://cn.vuejs.org/v2/api/#v-slot)。**
* [slot-scope](https://cn.vuejs.org/v2/api/#slot-scope-%E5%BA%9F%E5%BC%83) -- 廢棄,**推薦 2.6.0 新增的[v-slot](https://cn.vuejs.org/v2/api/#v-slot)。**
* [scope](https://cn.vuejs.org/v2/api/#scope-%E7%A7%BB%E9%99%A4) -- 移除,**被 2.5.0 新增的[slot-scope](https://cn.vuejs.org/v2/api/#slot-scope)取代。推薦 2.6.0 新增的[v-slot](https://cn.vuejs.org/v2/api/#v-slot)**
[**內置的組件**](https://cn.vuejs.org/v2/api/#%E5%86%85%E7%BD%AE%E7%9A%84%E7%BB%84%E4%BB%B6)
* [component](https://cn.vuejs.org/v2/api/#component) -- 渲染一個“元組件”為動態組件。依`is`的值,來決定哪個組件被渲染
* [transition](https://cn.vuejs.org/v2/api/#transition) -- `<transition>`元素作為單個元素/組件的過渡效果。`<transition>`只會把過渡效果應用到其包裹的內容上,而不會額外渲染 DOM 元素,也不會出現在檢測過的組件層級中
* [transition-group](https://cn.vuejs.org/v2/api/#transition-group) -- `<transition-group>`元素作為多個元素/組件的過渡效果。`<transition-group>`渲染一個真實的 DOM 元素。默認渲染`<span>`,可以通過`tag`屬性配置哪個元素應該被渲染
* [keep-alive](https://cn.vuejs.org/v2/api/#keep-alive) -- `<keep-alive>`包裹動態組件時,會緩存不活動的組件實例,而不是銷毀它們
* [slot](https://cn.vuejs.org/v2/api/#slot) -- `<slot>`元素作為組件模板之中的內容分發插槽。`<slot>`元素自身將被替換
[**VNode 接口**](https://cn.vuejs.org/v2/api/#VNode-%E6%8E%A5%E5%8F%A3)
[**服務端渲染**](https://cn.vuejs.org/v2/api/#%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%B8%B2%E6%9F%93)