vue 父子组件传值,传递方法

1 父组件

复制代码
Father.vue---------------


<div>父组件内容a</div>

2 子组件

复制代码
son.vue---------------


<div>子组件内容b</div>

3 父组件调用子组件

复制代码
Father.vue------------


<div>
    父组件内容a
    <son></son>
</div>

//引用子组件vue文件
import son from '../../components/Son';

//定义
components:{
    son,
}

4.1 父组件传值到子组件

复制代码
Father.vue------------



<div>
    父组件内容a
    <son :data1="data1"  :data2="data2"></son>
</div>

//引用子组件vue文件
import son from '../../components/Son';

//定义
components:{
    son,
},

//定义数据
data() {
  return {
    data1: '我是父组件传递的参数1',
    data2: '我是父组件传递的参数2',
  }
},

4.2 子组件接收参数

复制代码
son.vue-----------------------


<div>
    子组件内容b
    <div>{{ data1 }}</div>
    <div>{{ data2 }}</div>
</div>

export default {
  data() {
    return {
        //定义参数,不能是props接收的参数
    };
  },
  created() {
    console.log("-------------------父组件传值data1-->", this.data1)
  },
  
  props: {
    data1: {
      type: Object
    },
    data2: {
      type: Object
    },
  },

}

5.1 子组件传值到父组件

复制代码
son.vue-----------------------


<div>
    <button @click="sonClick()">点击给父组件传值</button>
</div>

export default {
  data() {
    return {
        sonData: [{id:1001,name:'张三'},{id:1002, name:'李四'}];
    };
  },
  created() {
  },
  
  methods: {
    sonClick() {
        this.$emit("sonData3","我是传过去的字符串aaa");
        this.$emit("sonData4",this.sonData);
    }
  }

}

5.2 父组件接收参数

复制代码
Father.vue------------



<div>
    父组件内容a
    <son @sonData3="data3"  @sonData4="data4"></son>
</div>

//引用子组件vue文件
import son from '../../components/Son';

//定义
components:{
    son,
},

//定义数据
data() {
  return {
    
  }
},

methods:{
    data3(val) {
        console.log("子组件传过来的参数data3=",val)
    },
    data4(val) {
        console.log("子组件传过来的参数data4=",val)
    },
}
相关推荐
华仔啊14 分钟前
用 Vue3 + Canvas 做了个超实用的水印工具,同事都在抢着用
前端·vue.js·canvas
炒毛豆1 小时前
uniapp微信小程序+vue3基础内容介绍~(含标签、组件生命周期、页面生命周期、条件编译(一码多用)、分包))
vue.js·微信小程序·uni-app
Bacon1 小时前
前端:从0-1实现一个脚手架
前端
Bacon1 小时前
前端项目部署实战 nginx+docker持续集成
前端
beckyye1 小时前
阿里云智能语音简单使用:语音识别
前端·语音识别·录音
东东2331 小时前
前端规范工具之husky与lint-staged
前端·javascript·eslint
jump6801 小时前
手写事件总线、事件总线可能带来的内存泄露问题
前端
岁月宁静2 小时前
在 Vue 3.5 中优雅地集成 wangEditor,并定制“AI 工具”下拉菜单(总结/润色/翻译)
前端·javascript·vue.js
执沐2 小时前
基于HTML 使用星辰拼出爱心,并附带闪烁+流星+点击生成流星
前端·html
#做一个清醒的人2 小时前
【electron6】Web Audio + AudioWorklet PCM 实时采集噪音和模拟调试
前端·javascript·electron·pcm