網(wǎng)站首頁 編程語言 正文
目錄
一、背景
二、4種方法
1、子組件向父組件傳遞一個值
2、子組件向父組件傳遞一個值,并攜帶額外參數(shù)
3、子組件向父組件傳遞多個值
4、子組件向父組件傳遞多個值,并攜帶額外參數(shù)
一、背景
詳情頁集成了很多子組件, 但是父組件的一個上傳文件的地方回顯拿不到最新的文件個數(shù), 但這里有需要上傳的文件判空處理。 首先想到的是回顯的時候直接獲取文件集合的大小即可, 但是刪除文件后還是更新不了最新的值, 所以子只能子組件傳更新最新的值給父組件做判斷了。
二、4種方法
1、子組件向父組件傳遞一個值
子組件:
var num= this.fileList().size() this.$emit('change', num);
父組件:
??<!-- 在父組件中使用子組件 --> <editable-cell :num="num" :inputType="inputType" @change="handleChange($event)" /> // 事件處理函數(shù) async handleChange(value) { this.num = value; }
在使用子組件時,綁定change函數(shù)的事件處理函數(shù)也可以寫成如下格式:?
<editable-cell :num="num" :inputType="inputType" @change="handleChange" />
綁定事件處理函數(shù)時,可以不帶括號,形參則默認為事件對象,如果綁定時帶上了括號,再想使用事件對象則需要傳入$event作為實參。
2、子組件向父組件傳遞一個值,并攜帶額外參數(shù)
record為額外參數(shù)( 本文的額外參數(shù)都拿record做舉例 )。
子組件:
this.$emit('change', this.value);
父組件:
<!-- 插槽 --> <template slot="planned_amount" slot-scope="text, record"> <!-- 在父組件中使用子組件 --> <editable-cell :num="num" :inputType="inputType" @change="handleChange(record,$event)" /> </template> // 事件處理函數(shù) async handleChange(record,value) { console.log(record,value) },
綁定事件處理函數(shù)時,record和$event的順序不做要求,但是按照vue事件綁定的習(xí)慣,$event通常放在實參列表末尾。
3、子組件向父組件傳遞多個值
子組件:
// 向父組件傳遞了兩個值 this.$emit('change', this.value,this.text);
父組件:
<editable-cell :text="text" :inputType="inputType" @change="handleChange" /> // 事件處理函數(shù) async handleChange(param1,param2) { console.log(param1,param2) },
綁定事件處理函數(shù)時,不能攜帶括號!!!如果攜帶括號并且在括號內(nèi)加了$event,只能拿到子組件傳遞過來的第一個參數(shù)。
4、子組件向父組件傳遞多個值,并攜帶額外參數(shù)
record為額外參數(shù)( 本文的額外參數(shù)都拿record做舉例 )。
子組件:
// 向父組件傳遞了兩個值 this.$emit('change', this.value,this.text);
父組件:
<template slot="planned_amount" slot-scope="text, record"> <!-- 在父組件中使用子組件 --> <editable-cell :text="text" :inputType="inputType" @change="handleChange(record,arguments)" /> </template> // 事件處理函數(shù) async handleChange(record,args) { console.log(record,args) },
arguments是方法綁定中的一個關(guān)鍵字,內(nèi)部包括了所有方法觸發(fā)時傳遞過來的實參。arguments和額外參數(shù)的位置誰先誰后不做要求,建議arguments放后面。
有用請點贊,養(yǎng)成良好習(xí)慣!
疑問、交流、鼓勵請留言!
原文鏈接:https://libusi.blog.csdn.net/article/details/127353961
- 上一篇:沒有了
- 下一篇:沒有了
相關(guān)推薦
- 2022-05-12 小程序 onLaunch 與 onLoad 異步問題的解決方案
- 2024-02-17 pytorch花式索引提取topk的張量
- 2022-07-13 常用類之BigDecimal、Date、Calender、SimpleDateFormat及Syst
- 2022-07-07 Android?配合Mat工具監(jiān)聽查找內(nèi)存泄漏的操作方法_Android
- 2022-03-13 .Net6開發(fā)winform程序使用依賴注入_C#教程
- 2022-09-16 利用Python統(tǒng)計Jira數(shù)據(jù)并可視化_python
- 2022-06-09 FreeRTOS實時操作系統(tǒng)的任務(wù)創(chuàng)建與任務(wù)切換_操作系統(tǒng)
- 2023-07-05 settings delete global hidden_api_policy_pre_p_app
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支