国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Vue】父子組件傳參 && 孫子調(diào)用爺爺?shù)姆椒?provide inject

這篇具有很好參考價(jià)值的文章主要介紹了【Vue】父子組件傳參 && 孫子調(diào)用爺爺?shù)姆椒?provide inject。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一. 父?jìng)髯?/h4>
  1. 父組件先在data中定義要傳給子組件的屬性名
  2. 父組件在中引入子組件
  3. 在components中注冊(cè)
  4. 使用步驟 3 中注冊(cè)好的子組件
  5. 在 3 中,父?jìng)髯?br> (1)利用 : 將父組件的對(duì)象、數(shù)組、字符串等傳給子組件,供子組件使用
    (2)利用 @ 將父組件的方法傳給子組件,供子組件調(diào)用
 :子組件接收父組件時(shí)用的屬性名 =  父組件要傳給子組件的屬性名
 @子組件接接收父組件使用的方法 = 父組件要傳給子組件使用的方法

二. 子用父

  1. 接受通過(guò):傳的值,通過(guò) props
    若為字符串和數(shù)組,如下
 props:{
 	子組件接收父組件時(shí)用的屬性名:{
 		type:String,
 		default:''
 	}
 }
 
或直接 props:{'子組件接收父組件時(shí)用的屬性名'}
 props:{
 	子組件接收父組件時(shí)用的屬性名:{
 		type:Array,
 		default:()=>{}
 	}
 }
 
或直接 props:{'子組件接收父組件時(shí)用的屬性名'}

這里切記:通過(guò)props接受到的值是不能改變的,如果要改變只能重新再子組件定義,然后通過(guò)watch將父組件的值傳給該定義好的屬性,即可渲染

 watch:{
	子組件接收父組件時(shí)用的屬性名(){
		this.子組件定義的屬性名 = this.子組件接收父組件時(shí)用的屬性名
    }
 }
  1. 接受通過(guò)@傳的方法,通過(guò)this.$emit("父組件要傳給子組件使用的方法
    ",參數(shù))
  子組件調(diào)用接口后,需刷新頁(yè)面。參數(shù)可傳可不傳
  this.$emit("父組件要傳給子組件使用的方法",參數(shù))

三. 舉例

  1. 父?jìng)髯幽K
<template>
	<div>
		<h1>我是父輩的組件</h2>
		<el-table :data="grandpaList" border>
			<el-table-column fixed  prop="date" label="日期"  width="150" />
			<el-table-column fixed  prop="name" label="姓名"  width="150" />
			<el-table-column fixed  prop="address" label="籍貫"  width="150" />
			<el-table-column label="操作">
				<template slot-scope="scope">
					<el-button @click="handleViewDetail">詳情</el-button>
				</template>
			</el-table-column>
		</el-table>
		<!-- 4. 使用注冊(cè)的子組件 并執(zhí)行步驟5. 父?jìng)鲄⒔o子-->
		<ChildDetail ref="fatherDetail" :show.sync="viewFatherDialog" @fetchData="fetchData">
	</div>
</template>
<script>
// 2. 引入子組件
import ChildDetail from "./components/ChildDetail.vue"
import {getList} from "@/api/具體的接口路徑"
	export default{
		// 3. 注冊(cè)子組件
		components:{ChildDetail},
		data(){
			return{
				grandpaList:[],
				viewFatherDialog:false,  // 1. 定義屬性名
			}
		},
		mounted(){
			this.fetchData()
		},
		methods:{
			fetchData(){
				getList(傳的參數(shù)).then(res=>{
					this.grandpaList = res.data
				})
			}
		}
	}
</script>
  1. 子用父模塊
<template>
	<div>
		<el-dailog  title="我是子輩的組件"  :visible.sync="dialogVisible">
 			<span>這是一段信息</span>
  			<span slot="footer" class="dialog-footer">
  			    <el-button @click="close">取 消</el-button>
    			<el-button type="primary" @click="handleSubmit">確 定</el-button>
  </span>
		</el-dailog>
	</div>
</template>
<script>
	export default{
	// 1. 接受通過(guò)` : `傳的值,通過(guò) `props`
		props:{show},
		data(){
			return{
				dialogVisible:false,
			}
		},
		// props接受到的值要改變,只能用watch
		watch:{
			show(){
				this.dialogVisible = this.show
			}
		},
		methods:{
			close(){
			},
			handleSubmit(){
				submit(傳的參數(shù)).then(res=>{
				// 3. 提交(新增/編輯/刪除)后一般需刷新頁(yè)面
					this.$emit("fetchData")
				})
			}
		}
	}
</script>

四. 爺孫調(diào)用

  1. 先使用 provide拋出去
    【Vue】父子組件傳參 && 孫子調(diào)用爺爺?shù)姆椒?provide inject
  2. 孫子使用 inject接收
    【Vue】父子組件傳參 && 孫子調(diào)用爺爺?shù)姆椒?provide inject
  3. 接收后可在孫子輩的組件直接 this.爺爺輩的方法()即可

若inject:[‘方法名報(bào)錯(cuò)’],則可更改為文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-475442.html

inject:{
  getList:{value:"getList",default:null}
}

五. 參考附錄

  1. 爺孫:如何傳參
  2. inject[‘方法名報(bào)錯(cuò)’]:如何解決

到了這里,關(guān)于【Vue】父子組件傳參 && 孫子調(diào)用爺爺?shù)姆椒?provide inject的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • VUE3父子組件傳參

    父?jìng)髯?父組件 template ? ?sonComponent?:sendValue=\\\"value(//傳遞的值)\\\"/sonComponent /template //引入組件 import sonComponent from \\\"XXXXX\\\"; 子組件 //定義名字與父組件對(duì)應(yīng) const props = defineProps({ ? sendValue:{type: String,default:\\\'\\\'}? }) 子傳父 子組件 // 定義發(fā)送 const emit = defineEmits([\\\'sendValue\\\']) //發(fā)送(在想

    2024年02月07日
    瀏覽(20)
  • 【vue3】vue3中父子組件傳參:

    【vue3】vue3中父子組件傳參:

    一、父?jìng)髯樱?【1】父組件傳值: 【2】子組件接收: 二、父調(diào)用子方法: 【1】父組件調(diào)用: 【2】子組件暴露: 三、子組件發(fā)送emit方法給父組件: 【1】父組件: 【2】子組件調(diào)用:

    2024年02月13日
    瀏覽(21)
  • Vue3父子組件間傳參通信

    Vue3父子組件間傳參通信

    本文主要是記錄Vue3在setup語(yǔ)法糖下的父子組件間傳參的四種方式 Vue3+TypeScript 父組件傳值給子組件主要是由父組件為子組件通過(guò)v-bind綁定數(shù)值,而后傳給子組件;子組件則通過(guò)defineProps接收使用。 如下為父組件 Father.vue 如下為子組件Son.vue 父組件 Father.vue 中在調(diào)用 Son.vue 這個(gè)子

    2024年01月19日
    瀏覽(26)
  • vue父子組件之間的傳參的幾種方式

    這是最常用的一種方式。通過(guò)props選項(xiàng),在父組件中傳遞數(shù)據(jù)給子組件。在子組件中使用props聲明該屬性,就可以訪問(wèn)到父組件傳遞過(guò)來(lái)的數(shù)據(jù)了。 子組件向父組件傳遞數(shù)據(jù)的方式。在子組件中使用emit方法觸發(fā)一個(gè)自定義事件,并通過(guò)參數(shù)傳遞數(shù)據(jù)。在父組件中監(jiān)聽(tīng)這個(gè)事件

    2023年04月24日
    瀏覽(101)
  • flutter開(kāi)發(fā)實(shí)戰(zhàn)-父子Widget組件調(diào)用方法

    flutter開(kāi)發(fā)實(shí)戰(zhàn)-父子Widget組件調(diào)用方法

    flutter開(kāi)發(fā)實(shí)戰(zhàn)-父子Widget組件調(diào)用方法 在最近開(kāi)發(fā)中遇到了需要父組件調(diào)用子組件方法,子組件調(diào)用父組件的方法。這里記錄一下方案。 父組件使用globalKey.currentState調(diào)用子組件具體方法,子組件通過(guò)方法回調(diào)callback方法調(diào)用父組件的方法。 例如示例中的 例如父組件 父組件使

    2024年02月15日
    瀏覽(28)
  • 前端vue中父子組件之間的傳值(修改值)和事件的相互調(diào)用

    目錄 父組件向子組件傳值 子組件修改父組件中的值: 方法1 方法2 子組件調(diào)用父組件里的函數(shù) 方法1 方法2 父組件調(diào)用子組件的函數(shù) : 子組件中的 data 屬性是用來(lái)存儲(chǔ)子組件自身的數(shù)據(jù),而不是用來(lái)接收父組件傳遞的數(shù)據(jù)的。父組件向子組件傳遞數(shù)據(jù)的常用方式是通過(guò) pro

    2024年02月07日
    瀏覽(91)
  • Vue組件通信——父子組件通信的四種方法

    Vue組件通信——父子組件通信的四種方法

    全局引入 在main.js文件中引入并注冊(cè) 之后就可以全局使用組件了 局部引入 在父組件中引入 之后就可以在父組件中使用組件了 在子組件 prop 中可以注冊(cè)一些自定義組件屬性,父組件調(diào)用子組件時(shí)可以向 prop 中的自定義屬性傳值。 子組件代碼: 父組件代碼 prop 也可以通過(guò) v-

    2023年04月16日
    瀏覽(101)
  • 項(xiàng)目中使用iframe引入html 解決路由錯(cuò)亂問(wèn)題以及父子組件傳值調(diào)用方法

    項(xiàng)目中使用iframe引入html 解決路由錯(cuò)亂問(wèn)題以及父子組件傳值調(diào)用方法

    父組件 子組件: 方法一、通過(guò)子組件iframe1向父組件傳值,再通過(guò)父組件向子組件iframe2傳值可達(dá)到目的; 注意:模擬時(shí) 需要開(kāi)啟服務(wù)器,否則會(huì)出現(xiàn)跨域問(wèn)題! 看圖你應(yīng)該就明白了 在項(xiàng)目中使用iframe引入html,引入的html中有路由跳轉(zhuǎn),當(dāng)點(diǎn)擊html頁(yè)面中的路由跳轉(zhuǎn)時(shí),瀏覽器

    2024年02月01日
    瀏覽(25)
  • vue父子組件之間傳值的方法

    父?jìng)髯?方式: props 效果: 把父組件的 fatherName 屬性傳入子組件,在子組件中使用 父組件代碼: 子組件代碼: 子傳父 方式: $emit 效果: 在子組件觸發(fā)事件,修改父組件的fatherName屬性 父組件代碼: 子組件代碼: 兄弟傳值 方式: eventBus.js 效果: 任意組件之間相互傳值 代

    2024年02月09日
    瀏覽(94)
  • vue組件之間的五種傳值方法(父子\兄弟\跨組件)

    父?jìng)髯?(自定義屬性 props) 父組件向子組件傳參,通過(guò)自定義屬性的方式進(jìn)行傳參,在子組件中使用prop定義自定義的屬性,然后在父組件中通過(guò)v-bind指令把需要傳遞的數(shù)據(jù)綁定在子組件上,那在子組件中props里面的自定義屬性可以直接使用。 子傳父 (自定義事件 this.$emit) 子組

    2023年04月08日
    瀏覽(40)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包