Vue2 元件封裝

2021-09-10 08:39:02 字數 2650 閱讀 6326

接觸乙個前端框架,除了基礎的使用語法以外我們接下來都會很關心元件和復用的問題。以下就是個簡單的例子。

下面是在父元件中引入子元件的**片段:

="booklist_out_container"

>

="booklist_container"

>

for=

"book in books"

:book=

"book"

/>

<

/div>

>

"button" @click=

'onaddbook()'

>add book<

/button>

<

/div>

<

/template>

import bookitem from

'@/components/bookitem'

;export

default

, methods:`]

;}},

name:

"booklist"

,data()

;}, components:};

<

/script>

<

!-- add "scoped" attribute to limit css to this component only --

>

.booklist_out_container

.booklist_container

<

/style>

從上面的例子可以看出,bookitem既是乙個子元件,我們使用:

使用上面的例子,我們可以看見:book即是父元件注入到子元件中的乙個值,

父元件片段:

="booklist_container"

>

for=

"book in books"

:book=

"book"

/>

<

/div>

子元件**:

="bookitem_container"

>

}"signup()"

>sign up<

/button>

<

/div>

<

/template>

export

default

, methods:},

mounted()

, name:

"booklist"

,data()

;},}

;<

/script>

<

!-- add "scoped" attribute to limit css to this component only --

>

.bookitem_container

<

/style>

我們可以看見,子元件通過如下方式引入父元件傳入的值:

props:

,

="bookitem_container"

>

}"signup()"

>sign up<

/button>

<

/div>

<

/template>

methods:

},

事實上vue2去掉了props的雙向繫結,表明了和react一樣希望資料流單純可控,但是實際上我們還是會需要和父元件進行通訊,我們使用$emit方式盡量解耦,方法如下:

將上面的父元件**修改一下,加入事件監聽**:

="booklist_out_container"

>

="booklist_container"

>

for=

"book in books"

:book=

"book" @:signupevent=

"signupeventlistener"

/>

<

/div>

>

"button" @click=

'onaddbook()'

>add book<

/button>

<

/div>

<

/template>

可以看見關鍵的**是:

@:signupevent=

"signupeventlistener"

子元件增加傳送事件**:

methods:`)

;}},

vue 2 元件之間傳值

對vue2版本的元件之間傳值的乙個簡單整合 父元件 子元件 props 和 refs props parent this.ref.helloworld.msg子元件 父元件 自定義事件 child this.emit send msg parent 兄弟元件 通過共同祖輩搭橋 par ent或 pa...

Vue 2 元件基礎 全域性元件和區域性元件

元件是什麼 元件是vue最強大的功能之一,元件可擴充套件 html 封裝可重用的模組,讓其它地方能使用。元件能幹嘛 元件的優點是封裝重複的特定 html css,js,html 然後通過元件名字可以重複利用該元件中的 元件的分類 元件可分成全域性元件和區域性元件,它們的區別就是 全域性元件能供所以例...

Vue2 元件間通訊全方案

說的不對的,敬請諒解,大家共同討論進步 元件通訊包括 父子元件間的通訊和兄弟元件間的通訊。在元件化系統構建中,元件間通訊必不可少的。父元件關鍵 如下 子元件關鍵 如下 export default child msg 為父元件給子元件設定的額外屬性值,屬性值需在子元件中設定props,子元件中可直接...