簡單了解vue中父子組件如何相互傳遞值(基礎(chǔ)向)
前言
首先,你需要知道vue中父組件和子組件分別指的是什么?
父組件:vue的根實(shí)例——用new Vue()構(gòu)造函數(shù)創(chuàng)建的vue實(shí)例(實(shí)例會(huì)有一個(gè)掛載點(diǎn),掛載點(diǎn)里的所有內(nèi)容可理解為父組件的內(nèi)容)
這里以root為掛載點(diǎn),root里包含的所有內(nèi)容可稱為模板,即我們常說的父組件
子組件:用Vue.component()注冊的組件(下圖todo-item就是組件的名稱,該名稱可自定義,推薦使用短橫線分隔命名)
定義組件名的2種方式(截圖截自vue官網(wǎng))
注:建議在html中引用組件時(shí)(非字符串模板),組件命名都用短橫線命名且字母全小寫的方式
父組件向子組件傳遞值
父組件:通過屬性的形式進(jìn)行傳遞(比如v-bind:content="item",通過v-bind屬性把item的值動(dòng)態(tài)賦給content變量)
子組件:通過props接收父組件傳遞的值
子組件向父組件傳遞值
子組件:通過$emit()方法發(fā)布事件廣播
父組件:捕獲到子組件向外觸發(fā)的事件,然后可執(zhí)行相應(yīng)的方法
下圖為子組件通過$emit()方法向外傳遞delete事件,父組件捕獲到delete事件后執(zhí)行handleDelete()方法
下圖中methods方法里的this默認(rèn)指向vue實(shí)例
不要把methods方法寫成箭頭函數(shù),因?yàn)榧^函數(shù)會(huì)改變this的指向,使this不在默認(rèn)指向vue實(shí)例,而指向undefined
同時(shí)vue實(shí)例中的data,computed,watch屬性也都不要寫成箭頭函數(shù),理由同上
注:@delete="handleDelete"為v-on:click="handleDelete"的簡寫;
:content="item"為v-bind:content="item"的簡寫
補(bǔ)充:怎么注冊全局組件和局部組件
①:注冊全局組件(用Vue.component(),組件名為todo-item,可自定義,推薦使用短橫線分隔命名)
②:注冊局部組件(通過一個(gè) JavaScript 對象來定義組件)
注冊局部組件后,直接引用組件<todo-item></todo-item>會(huì)報(bào)錯(cuò),提示未注冊該組件
解決方法是在vue實(shí)例中用components進(jìn)行聲明
注:對于components對象中的每個(gè)屬性來說,其屬性名就是自定義元素的名字,其屬性值就是這個(gè)組件的選項(xiàng)對象
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue中父子組件的值傳遞與方法傳遞
- Vue父子組件傳值的一些坑
- vue中組件通信詳解(父子組件, 爺孫組件, 兄弟組件)
- vue中父子組件傳值,解決鉤子函數(shù)mounted只運(yùn)行一次的操作
- vue父子組件間引用之$parent、$children
- Vue 使用Props屬性實(shí)現(xiàn)父子組件的動(dòng)態(tài)傳值詳解
- vue element-ui table組件動(dòng)態(tài)生成表頭和數(shù)據(jù)并修改單元格格式 父子組件通信
- 詳解vue父子組件關(guān)于模態(tài)框狀態(tài)的綁定方案
- vue中父子組件的參數(shù)傳遞和應(yīng)用示例
相關(guān)文章
element?el-tree折疊收縮的實(shí)現(xiàn)示例
本文主要介紹了element?el-tree折疊收縮的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08vue實(shí)現(xiàn)驗(yàn)證碼按鈕倒計(jì)時(shí)功能
最近項(xiàng)目結(jié)束,空閑時(shí)間比較多,今天小編抽時(shí)間給大家使用vue寫一個(gè)小例子,就決定做驗(yàn)證碼倒計(jì)時(shí)功能,具體實(shí)例代碼大家參考下本文2018-04-04vue項(xiàng)目如何修改title旁邊的icon圖片
這篇文章主要介紹了vue項(xiàng)目如何修改title旁邊的icon圖片,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12