vue父组件与子组件的数据传递
16lz
2021-06-18
1.父组件引进子组件步骤
(1)先在父组件中声明子组件
components:{
headerVue,
},
(2)在父组件中引入子组件
import headerVue from "../components/Header.vue"
(3)在父组件中使用子组件
<template>
<div class="newCom">
<headerVue ref="header"></headerVue>
</div>
</template>
2.父组件给子组件传递数据的方法
(1)通过props
- 父组件中给子组件标签绑定传递数据
data () {
return {
parentData:'父组件的值'
};
},
<headerVue ref="header" :msg="parentData"></headerVue>
- 子组件通过props来接收
props:["msg"],
<div>来自父组件传递的值msg:{{msg}}</div>
(2)父组件通过调用子组件方法给子组件传值
- 子组件定义要被父组件调用的方法
<div>父组件通过调用子组件方法更改子组件的值age:{{age}}</div>
data () {
return {
age:''
};
},
methods:{
// 父组件触发子组件的init方法
init(age){
this.age = age
}
}
- 父组件给子组件标签添加ref属性
<headerVue ref="header" :msg="parentData"></headerVue>
- 父组件通过调用子组件方法传递数据
<el-button @click="changeData">点击触发子组件方法</el-button>
methods:{
changeData(){
// 触发子组件方法,并传参
this.$refs.header.init("18");
}
}
3.子组件给父组件传递数据
通过$emit来实现
- 在父组件中给子组件标签指定数据绑定的函数@func
<headerVue @func="getMsgFormSon" ref="header" :msg="parentData"></headerVue>
data () {
return {
parentData:'父组件的值',
msgFormSon:''
};
},
methods:{
changeData(){
// 触发子组件方法,并传参
this.$refs.header.init("18");
},
getMsgFormSon(data){
this.msgFormSon = data;
}
}
- 子组件通过触发$emit提交数据
<el-button @click="sendMsg">给父组件传递数据</el-button>
data () {
return {
age:'',
msg2:'我是子组件的msg'
};
},
methods:{
// 父组件触发子组件的init方法
init(age){
this.age = age
},
sendMsg(){
// func: 父组件指定的数据绑定的函数,this.msg2: 子组件给父组件传递的数据
this.$emit('func',this.msg2);
}
}
更多相关文章
- php检测扩展有没有加载成功的几种方法
- PHP:【微信小程序】微信小程序部分组件,微信小程序轮播图
- 微信小程序数据操作、自定义事件、微信API、路由组件、变量作用
- 选择器的使用和模块化组件思想
- 仿php中文网
- Thinkphp6 下载安装视图组件-增删改查-预习视图标签
- 坚持自己的学习方法不动摇
- 白话Thinkphp5.1
- SD卡请将磁盘插入驱动器修复方法?