亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Vue框架中子組件向父組件通信方法淺析

        2024-04-24 05:23:30李時穎
        客聯(lián) 2024年1期
        關鍵詞:組件

        李時穎

        摘 要:Vue框架是目前在前端開發(fā)領域常用的框架技術,Vue框架技術提出組件化開發(fā)的概念。組件就是將網頁的html、css、JavaScript三個模塊封裝成為一個.vue的文件,統(tǒng)一由vue實例對象進行管理,最終渲染成完整的網頁。

        關鍵詞:Vue框架;組件;組件通信

        Vue作為一套用于構建用戶界面的漸進式框架,現(xiàn)階段在前端開發(fā)領域獲得了廣泛的應用。Vue框架在設計時借鑒了Angular框架技術的模板和數(shù)據綁定技術,以及React框架的組件化和虛擬DOM概念。Vue框架被設計為可以自底向上的逐層應用。在使用Vue框架時,只關注視圖層,主要目標是通過API實現(xiàn)數(shù)據綁定和組合視圖組件,即實現(xiàn)“數(shù)據驅動視圖”的工作原理。Vue的數(shù)據驅動是通過MVVM即(Model-View-ViewModel)模式來實現(xiàn)的。

        在Vue框架中,使用了“組件”的相關概念。組件(Component)是Vue框架中最強大的功能之一。通過開發(fā)組件可以對可復用的代碼進行封裝,并將封裝好的代碼注冊成標簽,實現(xiàn)擴展HTML元素的功能。組件的出現(xiàn),能夠以不同的組件來劃分不同的功能模塊,通過調用對應的組件即可實現(xiàn)相對應的功能。

        Vue框架中的數(shù)據流動,如果是在組件內,一般可以通過數(shù)據綁定的方式實現(xiàn);如果數(shù)據流動發(fā)生在兩個組件之間,則需要通過組件通信來完成。

        本文旨在通過一個具體的案例,探討子組件的數(shù)據向父組件傳遞的過程。

        一、案例介紹及數(shù)據傳輸情況

        本案例是個體育選課單頁面應用前端展示部分,其中,三個教師選項卡是父組件,三個教師選項卡中的點擊預約按鈕是子組件。如上圖片1所示。當點擊了某位老師選項卡中的點擊預約按鈕,該教師選項卡的背景色就會變成紅色,同時預約情況中/后的數(shù)字會+1,如下圖2所示。

        圖2中顯示的交互效果事實上是由組件通信完成的,基本原理是子組件被點擊后向父組件發(fā)送了一個類名,父組件收到該類名后,為該類名設置的樣式就將生效,同時在組件配置項methods中將預約人數(shù)+1。

        二、由子組件向父組件通信實現(xiàn)數(shù)據傳輸?shù)倪^程

        子組件向父組件通信可以通過三步來實現(xiàn):

        (一)在觸發(fā)傳輸行為的子組件標簽上綁定事件(事件函數(shù))并將數(shù)據作為參數(shù)傳入

        (二)在父組件中使用的子組件標簽上,以“@函數(shù)1(發(fā)快遞)=函數(shù)2(收快遞)”的格式通過使用自定義事件“函數(shù)1”監(jiān)聽子組件觸發(fā)的事件。其中自定義事件“函數(shù)1”配置在子組件的methods配置項中,“函數(shù)2”配置在父組件的methods配置項中。

        (三)在子組件的事件函數(shù)中調用$emit方法(函數(shù)1,[參數(shù))])觸發(fā)組件通信完成。當$emit方法被調用,數(shù)據就從子組件被傳輸?shù)礁附M件中。

        上述過程中,$emit方法是一個由Vue實例創(chuàng)建的事件對象,語法格式為: this.$emit(event,[...args]), 其中this是指向Vue實例的當前組件的引用。event代表所要觸發(fā)的事件名稱。args 是可選參數(shù)對象,可以在觸發(fā)事件時通過event的回調函數(shù)傳遞。

        如果我們以生活中一個大家非常熟悉的場景來描述這個過程,我們可以把通信過程下

        理解成三個步驟:

        ①打包快遞

        ②聯(lián)系收件人,確認信息

        ③聯(lián)系快遞公司,填寫快遞單,快遞公司進行發(fā)貨派送

        這三個步驟與剛才組件通信的過程的關系可以用圖3表示。

        三、組件通信在案例中的實現(xiàn)

        為了直觀的展示代碼的運行過程,我們在實現(xiàn)關鍵步驟的代碼處通過alert語句輸出當前程序運行的狀態(tài),如下圖4、圖5、圖6所示:

        如圖4所示,我們通過代碼:

        在子組件input標簽上綁定了一個單擊事件click來觸發(fā)數(shù)據傳輸?shù)倪^程,并將要傳輸?shù)臄?shù)據——類名“choose”作為參數(shù)放置在click事件函數(shù)中。

        當我們點擊按鈕,數(shù)據傳輸過程就被觸發(fā),相當于實現(xiàn)了快遞被打包的過程。

        如圖5所示,通過代碼:

        const display1= Vue.extend({

        template:`

        課程教師:{{name}}

        主帶課程:{{subject}}

        預約情況:{{sum+'/'+num}}

        `,

        我們在子組件標簽book1中,配置一個自定義事件:@fakuadi="shoukuadi",并將自定義事件中的“函數(shù)2”配置在父組件的methods中,定義數(shù)據收到之后的行為。

        methods:{

        shoukuadi(value){

        this.classname=value;

        this.num++;

        alert('與收件人確認好信息,準備發(fā)快遞')

        }

        這個過程相當于完成了“與收件人確認好信息,準備發(fā)快遞”的步驟。

        }

        }

        })

        如圖6所示,通過代碼:

        const book1=Vue.extend({

        template:`#book`,

        methods:{

        dabaokuadi(value){

        alert('單擊后觸發(fā)dabaokuadi,此時數(shù)據以參數(shù)的形式被打包完畢')

        this.$emit('fakuadi',value)

        alert('通過快遞公司順利發(fā)出快遞并派送') }} })

        我們在子組件實例對象的methods配置項中,通過調用emit方法this.$emit('fakuadi',value)將函數(shù)1(子組件標簽中定義的自定義事件函數(shù))配置在方法中。實現(xiàn)了數(shù)據傳輸?shù)牟襟E3“通過快遞公司順利發(fā)出快遞并派送”。

        通過上述步驟,我們將完成數(shù)據從子組件向父組件通信的過程并最終實現(xiàn)圖片2的案例效果。

        參考文獻:

        [1]師曉利 劉志遠 .Vue.js前端開發(fā)實戰(zhàn)[M].北京.中國工信出版集團.人民郵電出版社.2022.P112-P125。

        猜你喜歡
        組件
        無人機智能巡檢在光伏電站組件診斷中的應用
        能源工程(2022年2期)2022-05-23 13:51:50
        一種嵌入式軟件組件更新方法的研究與實現(xiàn)
        新型碎邊剪刀盤組件
        重型機械(2020年2期)2020-07-24 08:16:16
        U盾外殼組件注塑模具設計
        跨平臺APEX接口組件的設計與實現(xiàn)
        測控技術(2018年9期)2018-11-25 07:44:58
        T/R組件移相置位時間測試方法及實現(xiàn)
        電子測試(2018年11期)2018-06-26 05:55:48
        橋梁組件搭配分析
        中國公路(2017年16期)2017-10-14 01:04:56
        風起新一代光伏組件膜層:SSG納米自清潔膜層
        太陽能(2015年11期)2015-04-10 12:53:04
        AGV在組件生產線中的應用方式
        太陽能(2015年6期)2015-02-28 17:09:21
        16%——Manz再度刷新CIGS光伏組件轉換效率世界紀錄
        太陽能(2015年5期)2015-02-28 17:08:47
        国产亚洲高清在线精品不卡 | 亚洲国产成人片在线观看无码| 男人和女人高潮免费网站| 北岛玲日韩精品一区二区三区| 日韩精品视频中文字幕播放| 亚洲一区二区三区中国| 亚洲精品成人网线在线播放va| 四虎4545www国产精品| 亚洲精品一区二区在线播放| 国产av一级片在线观看| 国产又色又爽又黄的| 宅男噜噜噜| 人妻免费黄色片手机版| 亚洲精品中文字幕一二三区| 777午夜精品免费观看| Y111111国产精品久久久| 亚洲av国产精品色a变脸| 伊人久久综合无码成人网| 色婷婷综合久久久久中文| 午夜视频网址| 中文字幕人妻被公喝醉在线 | 人妻在线中文字幕| 精品日韩av专区一区二区| 男人天堂网2017| 亚洲18色成人网站www| 日韩中文字幕久久久经典网| 国产成人精品一区二区三区av| 国产七十六+老熟妇| 亚洲欧美日韩精品高清| 国产一级一片内射在线| 亚洲一区二区三区乱码在线中国 | 久久影院午夜理论片无码| 欧美人妻精品一区二区三区| 久久99亚洲网美利坚合众国| 久久精品久99精品免费| 国产盗摄xxxx视频xxxx| 欧美日韩区1区2区3区| 亚洲中文字幕乱码在线观看| 综合色就爱涩涩涩综合婷婷 | 久久人人爽人人爽人人片av东京热 | 日本h片中文字幕在线|