說明與比較:new Vue() 和 export default {}
(1)vue就是一個構造函數
(2)vue標簽組件:是HTML標簽的擴展https://www.cnblogs.com/w-wanglei/p/5851629.html 什么是組件:組件是Vue.js最強大的功能之一。組件可以擴展HTML元素,封裝可重用的代碼。在較高層面上,組件是自定義的元素,Vue.js的編譯器為它添加特殊功能。在有些情況下,組件也可以是原生HTML元素的形式,以is特性擴展。(Vue.component頁面內復用,可把Vue頁面組件、HTML元素等當作一個標簽內容進行復用)
你可能已經注意到 Vue.js 組件非常類似於自定義元素——它是 Web 組件規范的一部分。實際上 Vue.js 的組件語法參考了該規范。例如 Vue 組件實現了 Slot API 與 is
特性。但是,有幾個關鍵的不同:
1)Web 組件規范仍然遠未完成,並且沒有瀏覽器實現。相比之下,Vue.js 組件不需要任何補丁,並且在所有支持的瀏覽器(IE9 及更高版本)之下表現一致。必要時,Vue.js 組件也可以放在原生自定義元素之內。
2)Vue.js 組件提供了原生自定義元素所不具備的一些重要功能,比如組件間的數據流,自定義事件系統,以及動態的、帶特效的組件替換。
(3)vue頁面組件:在生成、導出、導入、使用 Vue 頁面組件的時候,像我這種新手就會常常被位於不同文件的 new Vue()
和 export default{}
搞得暈頭轉向。它們含義到底是什么,又有什么異同呢?
首先,Vue 是什么? po 主的理解是 Vue 就是一個構造函數,生成的實例是一個巨大的對象,可以包含數據、模板、掛載元素、方法、生命周期鈎子等選項。
所以渲染的時候,可以使用構造 Vue 實例的方式來渲染相應的 html 頁面:
new Vue({ el: '#app' ... })
那么 export default {} 又是來干嘛的?(頁面間復用)
這是在復用組件的時候用到的。假設我們寫了一個單頁面組件 A 文件,而在另一個文件 B 里面需要用到它,那么就要用 ES6 的 import/export 語法 ,在文件 A 中定義輸出接口 export **
,在文件 B 中引入 import **
,然后再生成一個 Vue 實例 new Vue (**)
,把引入的組件用起來,這樣就可以復用組件 A 去配合文件 B 生成 html 頁面了。
所以在復用組件的時候,export
和 new Vue
缺一不可。