接觸乙個前端框架,除了基礎的使用語法以外我們接下來都會很關心元件和復用的問題。以下就是個簡單的例子。
下面是在父元件中引入子元件的**片段:
="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,子元件中可直接...