1.this.$parent方式昭娩,但是盡量不要用
指定已創(chuàng)建的實(shí)例之父實(shí)例扛稽,在兩者之間建立父子關(guān)系藏鹊。子實(shí)例可以用?this.$parent?訪問父實(shí)例旭贬,子實(shí)例被推入父實(shí)例的?$children?數(shù)組中。注意锐涯,這個this.children是一個數(shù)組。
2.通過props的方式(最常用的方式)
在子組件中定義
props:{
? ? secondname:{
? ? ? type:String,
?// 定義該 prop 是否是必填項填物。在非生產(chǎn)環(huán)境中纹腌,如果這個值為 truthy 且該 prop 沒有被傳入的,則一個控制臺警告將會被拋出滞磺。
? ? ? required:false,
? ? ? default:'laowang'
? ? }
? },
在子組件中使用這個props
<template>
? <div class="out-container">
? <input type="text" :value='secondname'>
? </div>
</template>
在父組件中傳遞參數(shù)
<children-son :secondname='lllName'></children-son>
data(){
return{
? ? ? ? lllName:'leilaohu'
? ? ? ? ?}
}
3.通過provide / inject可以把父組件的消息傳遞給左右的后代元素
provide?和?inject?主要為高階插件/組件庫提供用例升薯。并不推薦直接用于應(yīng)用程序代碼中。
provide和inject使用場景也是組件傳值击困,尤其是祖父組件--孫組件等有跨度的組件間傳值涎劈,單向傳值(由provide的組件傳遞給inject的組件)广凸。
父組件中
components:{childrenSon},
? provide(){
? ? return{
? ? ? elForm:this
? ? }
? },
? data () {
? ? return {
? ? ? message:0,
? ? ? message1:'zhangsan',
? ? ? person:{name:'喬大帥'},
? ? ? firstName:'qiao',
? ? ? lllName:'leilaohu',
? ? }
? },
子組件中
<input type="text" :value='elForm.message1'>
name:'childrenSon',
? inject: ['elForm'],
? data(){
? ? return{
? ? ? name:'xiaobai',
? ? ? age:10,
? ? ? Name:'',
? ? }
? },