/Dialog> /template> script> import Dialog from '@..."/>

【父子组件传值】Vue子父组件传值的三种方法

9,812次阅读
没有评论

共计 1726 个字符,预计需要花费 5 分钟才能阅读完成。

父组件向子组件传值: props- 父组件给子组件传输数据和验证

1. 父组件的代码示例

template>
div>父组件/div>

Dialog :fatherData="fatherData">/Dialog>
/template>

script>

import Dialog from '@/components/Dialog.vue'

export default {
  name: 'HomeView',
  components: { Dialog },
  data () {
    return {
      fatherData: '父组件的值',
    }
  }
}
/script>

2. 子组件的代码示例

template>
  div>
    div>子组件/div>
    div>
    
      {{fatherData}}
    /div>
  /div>
/template>
script>
export default {
  data () {
    return {
      childrenData: '子组件自己的数据'
    }
  },
  
  props: {
  
    fatherData: {
      type: String
    }
  }
}
/script>

子组件向父组件传值:this.$emit()- 子组件可以使用 $emit, 让父组件监听到自定义事件

1. 父组件的代码示例

template>
div>父组件/div>

Dialog  @tranferData="tranferData">/Dialog>

div>{{ receiveData }}/div>
/template>

script>

import Dialog from '@/components/Dialog.vue'

export default {
  name: 'HomeView',
  components: { Dialog },
  data () {
    return {
      fatherData: '父组件的值',
      receiveData:''
    }
  },
  methods: {
  
  tranferData(val){
  	console.log('子组件向父组件传过来的值:',val)
  	this.receiveData = val
  }
  }
}
/script>

2. 子组件的代码示例

template>
  div>
    div>子组件/div>
    el-button @click="tranfer">子向父传值/el-button>
  /div>
/template>
script>
export default {
  data () {
    return {
      childrenData: '子组件的值'
    }
  }
  },
  methods:{
  	tranfer(){
  	this.$emit('tranferData',this.childrenData)
  	}
  }
}
/script>

通过

r

e

f

s

调用子组件的值

t

h

i

s

.

refs 调用子组件的值 - 用 this.

refs调用子组件的值 this.refs 获取到的是组件实例, 可以使用组件的所有方法

1. 父组件的代码示例

template>
div>父组件/div>

Dialog ref='dialogData'>/Dialog>
div>通过 refs 拿到子组件的值/div>
el-button @click="toGet">refs 拿到子组件的值/el-button>
/template>

script>

import Dialog from '@/components/Dialog.vue'

export default {
  name: 'HomeView',
  components: { Dialog },
  data () {
    return {
      fatherData: '父组件的值',
    }
  },
  methods:{
  toGet(){
  	 
    	const data = this.$refs.dialogData.childrenData
     	alert(data)
     
     	const way = this.$refs.dialogData.childrenWay()
     	alert(way)
  }
  }
}
/script>

2. 子组件的代码示例

template>
  div>
    div>子组件/div>
  /div>
/template>
script>
export default {
  data () {
    return {
      childrenData: '子组件自己的数据'
    }
  },
  methods:{
  childrenWay(){
  	alert('父组件调用子组件的方法')
  }
  }
}
/script>

原文地址: 【父子组件传值】Vue 子父组件传值的三种方法

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2025-02-01发表,共计1726字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)