您好,登錄后才能下訂單哦!
本篇文章和大家了解一下vue組件的組成部分有幾個。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
vue組件由3部分組成:1、template,設置組件的模板結構;2、script,設置組件的JavaScript行為;3、style,設置組件的樣式。每個組件中必須包含template模板結構,而script行為和style樣式是可選的組成部分;“<template>”是vue提供的容器標簽,只起到包裹性質的作用,它不會被渲染為真正的DOM元素。”是vue提供的容器標簽,只起到包裹性質的作用,它不會被渲染為真正的DOM元素。
vue 是一個完全支持組件化開發的框架。vue 中規定組件的后綴名是 .vue。之前接觸到的 App.vue 文件本質 上就是一個 vue 的組件。每個 .vue 組件都由 3 部分構成,分別是:
template -> 組件的模板結構
script -> 組件的 JavaScript 行為
style -> 組件的樣式
其中,每個組件中必須包含 template 模板結構,而 script 行為和 style 樣式是可選的組成部分。vue 規定:每個組件對應的模板結構,需要定義到 <template> 節點中。
<template> <!-- 當前組件的DOM結構,需要定義到template 標簽的內部 </ template>
注意:<template> 是 vue 提供的容器標簽,只起到包裹性質的作用,它不會被渲染為真正的 DOM 元素。
在 template 中使用指令
在組件的 <template> 節點中,支持使用前面所學的指令語法,來輔助開發者渲染當前組件的 DOM 結構。代碼示例如下:
<template> <h2>這是App根組件</h2> <!--使用{{ }}插值表達式--> <p>生成一個隨機數字: {{ (Math. random() * 10). toFixed(2) }}</p> <!-- 使用v-bind 屬性綁定--> <p :title="new Date(). tol ocaleTimeString()">我在黑馬程序員學習vue. js</p> <!--屬性v-on事件綁定 <button @click=”showInfo">按鈕</button> </template>
在 template 中定義根節點
在 vue 2.x 的版本中,<template> 節點內的 DOM 結構僅支持單個根節點:
<template> <!-- vue 2.x 中,template 節點內的所有元素,最外層"必須有“唯一的根節點進行包裹,否則報錯--> <div> <h2>這是App根組件</h2> <h3>這是副標題</h3> </div> </ template>
但是,在 vue 3.x 的版本中,<template> 中支持定義多個根節點:
<template> <!--這是包含多個根節點的template 結構,因為h2標簽和h3標簽外層沒有包裹性質的根元素--> <h2>這是App根組件</h2> <h3>這是副標題</h3> </template>
組件的 script 節點
vue 規定:組件內的 <script> 節點是可選的,開發者可以在 < script> 節點中封裝組件的 JavaScript 業務邏輯。< script > 節點的基本結構如下:
<script> //今后,組件相關的data 數據、methods 方法等, //都需要定義到export default 所導出的對象中。 export default {} </script>
script 中的 name 節點
可以通過 name 節點為當前組件定義一個名稱,代碼如下:
<script> export default { // name 屬性指向的是當前組件的名稱(建議:每個單詞的首字母大寫) name: 'MyApp', } </script>
在使用 vue-devtools 進行項目調試的時候,自定義的組件名稱可以清晰的區分每個組件:
script 中的data節點
vue 組件渲染期間需要用到的數據,可以定義在data 節點中:
<script> export default { //組件的名稱 name: 'MyApp', //組件的數據(data方法中return出去的對象,就是當前組件渲染期間需要用到的數據對象) data() { return { username: '哇哈哈 ', } }, } </script>
其中組件中的data 必須是函數,vue 規定:組件中的data 必須是一個函數,不能直接指向一個數據對象。因此在組件中定義data 數據節點時,下面的方式是錯誤的:
data: { //組件中,不能直接讓data 指向一個數據對象(會報錯) count: 0 }
script 中的methods節點
組件中的事件處理函數,必須定義到methods 節點中,示例代碼如下:
export default { name :' MyApp', //組件的名稱 data() { //組件的數據 return { count: 0, } }, methods: { //處理函數 addCount() { this . count++ }, }, }
組件的style 節點
vue 規定:組件內的<style> 節點是可選的,開發者可以在<style> 節點中編寫樣式美化當前組件的UI 結構。<script > 節點的基本結構如下:
<style> h2{ font -weight: normal; </style>
其中<style> <="" font="">標簽上的lang="css" 屬性是可選的,它表示所使用的樣式語言。默認只支持普通的css 語法,可選值還有less、scss 等。
多學一招:讓style 中支持less 語法
如果希望使用less 語法編寫組件的style 樣式,可以按照如下兩個步驟進行配置:
①運行npm install less -D 命令安裝依賴包,從而提供less 語法的編譯支持
②在<style> <="" font="">標簽上添加lang="less" 屬性,即可使用less 語法編寫組件的樣式
<style> h2{ font-weight: normal; i { color: red; font-style: normal; } </style>
以上就是vue組件的組成部分有幾個的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。