vue 父組件調(diào)用子組件方法及事件
情景:
父組件中引入上傳附件的子組件:點(diǎn)擊組件可以分別上傳對(duì)應(yīng)要求的圖片,子組件內(nèi)部循環(huán)可創(chuàng)建多個(gè)模塊.
父組件傳入數(shù)組子組件循環(huán)來創(chuàng)建不同的組件模塊,所有事件都在子組件內(nèi)部.
父組件頁面的上方同時(shí)有一個(gè)上傳圖片按鈕上傳圖片后會(huì)顯示在第一個(gè)模塊:
設(shè)想思路:點(diǎn)擊父組件中的按鈕觸發(fā)子組件中上傳方法:
子組件上定義ref="refName",
父組件的方法中用this.$refs.refName.method
去調(diào)用子組件方法
子組件中處理上傳的方法:
fileClick(index) { console.log('子組件的fileClick被調(diào)用了') console.log('index: '+index) // this.aaa(); if(!this.fileInfor[index].imgUrl){ //如果當(dāng)前框里沒有圖片,則實(shí)現(xiàn)上傳 document.getElementsByClassName('upload_file')[index].click(); } },
父組件template
<template> <x-button type="submit" class="custom-primary" @click.native="xiechengUpload">上傳圖片</x-button> <up-load :fileInformation="fileInformation" ref="uploadRef"></up-load> </template>
父組件method中定義方法,同時(shí)傳入相應(yīng)的index值.
Upload(){ // console.log('父組件的xiechengUpload被調(diào)用了') this.$refs.uploadRef.fileClick(0); },
此時(shí)就可以通過上傳按鈕將圖片放到子組件的第一個(gè)模塊中了.
下面看下Vue父組件調(diào)用子組件事件
Vue父組件向子組件傳遞事件/調(diào)用事件
不是傳遞數(shù)據(jù)(props)哦,適用于 Vue 2.0
方法一:子組件監(jiān)聽父組件發(fā)送的方法
方法二:父組件調(diào)用子組件方法
子組件:
export default { mounted: function () { this.$nextTick(function () { this.$on('childMethod', function () { console.log('監(jiān)聽成功') }) }) }, methods { callMethod () { console.log('調(diào)用成功') } } }
父組件:
<child ref="child" @click="click"></child> export default { methods: { click () { this.$refs.child.$emit('childMethod') // 方法1 this.$refs.child.callMethod() // 方法2 }, components: { child: child } }
總結(jié)
以上所述是小編給大家介紹的vue 父組件調(diào)用子組件方法及事件,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue 保留兩位小數(shù) 不能直接用toFixed(2) 的解決
這篇文章主要介紹了vue 保留兩位小數(shù) 不能直接用toFixed(2) 的解決操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08前端XSS攻擊場(chǎng)景詳解與Vue.js處理XSS的方法(vue-xss)
這篇文章主要給大家介紹了關(guān)于前端XSS攻擊場(chǎng)景與Vue.js使用vue-xss處理XSS的方法,介紹了實(shí)際工作中渲染數(shù)據(jù)時(shí)遇到XSS攻擊時(shí)的防范措施,以及解決方案,需要的朋友可以參考下2024-02-02使用Bootstrap + Vue.js實(shí)現(xiàn)添加刪除數(shù)據(jù)示例
本篇文章主要介紹了使用Bootstrap + Vue.js實(shí)現(xiàn) 添加刪除數(shù)據(jù)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02vue2.0構(gòu)建單頁應(yīng)用最佳實(shí)戰(zhàn)
這篇文章主要為大家分享了vue2.0構(gòu)建單頁應(yīng)用最佳實(shí)戰(zhàn)案例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04vue3.0中使用Element-Plus中Select下的filter-method屬性代碼示例
這篇文章主要給大家介紹了關(guān)于vue3.0中使用Element-Plus中Select下的filter-method屬性的相關(guān)資料,Filter-method用法是指從一組數(shù)據(jù)中選擇滿足條件的項(xiàng),文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12基于Vue3實(shí)現(xiàn)前端埋點(diǎn)上報(bào)插件并打包發(fā)布到npm的詳細(xì)過程
這篇文章主要介紹了基于Vue3實(shí)現(xiàn)一個(gè)前端埋點(diǎn)上報(bào)插件并打包發(fā)布到npm,本項(xiàng)目采用pnpm進(jìn)行Monorepo環(huán)境搭建,因?yàn)槲磥磉@個(gè)項(xiàng)目可能會(huì)加入更多的工具包,需要的朋友可以參考下2022-10-10Element-UI 解決el-table中圖片懸浮被遮擋問題小結(jié)
在開發(fā)中,發(fā)現(xiàn)element-ui在el-table中添加圖片懸浮顯示時(shí),會(huì)被單元格遮擋的問題,對(duì)于此問題解決其實(shí)也并不難,將懸浮圖片放在body節(jié)點(diǎn)下,通過定位顯示即可,感興趣的朋友跟隨小編一起看看吧2024-06-06VUE3基于vite封裝條形碼和二維碼組件的詳細(xì)過程
基礎(chǔ)組件開發(fā)是項(xiàng)目業(yè)務(wù)開發(fā)的基石, 本文主要介紹了通過vue3的vite腳手架快速搭建項(xiàng)目, 開發(fā)條形碼和二維碼組件的過程,感興趣的朋友跟隨小編一起看看吧2023-08-08