1 new Vue({ 2 3 router, 4 store, 5 //components: { App } vue1.0的寫法 6 render: h => h(App) vue2.0的寫法 7 }).$mount('#app')
render
函數是渲染一個視圖,而後提供給el
掛載,若是沒有render那頁面什麼都不會出來vue
vue.2.0的渲染過程:app
1.首先須要瞭解這是 es 6 的語法,表示 Vue 實例選項對象的 render 方法做爲一個函數,接受傳入的參數 h 函數,返回 h(App) 的函數調用結果。函數
2.其次,Vue 在建立 Vue 實例時,經過調用 render 方法來渲染實例的 DOM 樹。this
3.最後,Vue 在調用 render 方法時,會傳入一個 createElement 函數做爲參數,也就是這裏的 h 的實參是 createElement 函數,而後 createElement 會以 APP 爲參數進行調用,關於 createElement 函數的參數說明參見:Element-Argumentsspa
結合一下官方文檔的代碼即可以很清晰的瞭解Vue2.0 render:h => h(App)的渲染過程。code
[官方文檔][1]
:component
1 render: function (createElement) { 2 return createElement( 3 'h' + this.level, // tag name 標籤名稱 4 this.$slots.default // 子組件中的陣列 5 ) 6 }