Vue元件定義

2021-09-04 10:50:43 字數 1936 閱讀 6180

元件是可復用的 vue 例項。

本質上是乙個物件,該物件包含datacomputedwatchmethodsfilters以及生命週期鉤子等成員屬性。

元件結構:

},

computed:

},methods:

}}

乙個元件的 data 選項必須是乙個函式

data選項有兩種定義方式:

一、物件形式:

data:

二、函式形式:
data()

}

區別

method

computed

filter

型別函式

資料變數

函式用途

作事件處理函式

作資料作管道符

作用範圍

組建內組建內

組建內(區域性註冊)、全域性(全域性註冊)

引數可以帶參

不帶參(非函)

帶參返回值

不要求必須有

必須有觸發

互動時觸發

在它的相關依賴發生改變時才會重新求值

傳入的資料變化時執行

注意:

元件構建的主要區別在於模板的生成方式

字串模板

}}

id選擇器指定的模板
}}

,

props:

}}

單檔案元件將模板、邏輯、樣式在結構上分離,儲存在同乙個檔案中。

...

template

單檔案render

一行的簡單結構

常規的選擇

前邊兩種方案解決不了時候的選擇(靈活性高)

注意:

}

以上幾種方案定義的元件本質上都是乙個物件,獲取該物件(假設變數名為tabbar),要求專案內任何元件可使用:

一般在專案的入口檔案(如:腳手架搭建專案的main.js)中:

vue.component('tab-bar',tabbar);
這樣就是全域性註冊,該元件tabbar能在整個專案內使用,所有元件對tabbar可見。

以下用自己的語言將生命週期鉤子表述一下,如果有不對的地方,請校正:

在這個時候,生命週期函式已經準備好。

在這個時候,當前元件例項this上的屬性($dataprops$methods...)已經注入繫結,可以呼叫本例項上的成員屬性;

在進入本生命週期之前,會進行以下判斷:

是否有template選項:

最終這些模板都會轉換為render函式進行渲染!!!

在本生命週期之前,已經將模板渲染為真實dom,其中vm.$el元件例項的根dom元素

vue定義元件

vue定義元件vue中定義元件有兩種 全域性元件和區域性元件。全域性元件可以在頁面的任何位置使用,區域性元件只能在定義的el的範圍內使用,在el的範圍外使用會不顯示 定義全域性元件的方法 vue.component component name 定義區域性元件的方法 new vue componen...

34 定義vue元件

什麼是模組化 模組化是從 的角度出發,分析專案,把專案中一些功能類似 的 單獨抽離為乙個個的模組,那麼為了保證大家以相同的方式去封裝模組,於是我們就創造了模組的規範 commonjs規範 模組化的好處 方便專案開發,和後期的維護與擴充套件,今後如果需要某些固定功能 的模組,則直接拿來引用就行,提高了...

vue 元件的定義

1 什麼是元件?元件的出現,就是為了拆分vue例項的 量的,能夠讓我們以不同的元件來劃分不同的功能模組,將來我們需要什麼樣的功能,就可以去呼叫對應的元件即可。2 元件化和模組化的不同?3 全域性元件定義的三種方式 注意 元件中的dom結構,有且只能有唯一的根元素 root element 來進行包裹...