vue子组件向父组件传值的三种方式,vue子父组件传值和兄弟传值
本文主要介绍Vue的子母组件小白必看文章,有很好的参考价值,希望对大家有所帮助。如有错误或不足之处,请不吝赐教。
:2010年10月10日建立的框架目录结构一、亲子动画效果及源代码二。儿童对儿童动画效果2。儿童对父母源代码III。组件转移流程详解:组件转移值模板1。亲子属性道具参考refs传递值二。子到父属性发出
目录
搭建的框架目录结构
一、父传子动图效果及源码
父组件:
模板
差异
差异
p v-html=theCardTitle/p
按钮@click=发送消息确定/按钮
/div
差异
child card:parent message= parent message /child card
/div
/div
/模板
脚本
从导入子卡./sub/child card ;
导出默认值{
data() {
返回{
标题:“父组件”,
parentMessage:“”
};
},
组件:{
儿童卡
},
方法:{
sendMessage() {
This.parentMessage= b bMessage消息来自父组件:/b (_)!;
}
},
};
/脚本
子组件:
模板
差异
差异
p v-html=theCardBody/p
div v-html=parentMessage/div
/div
/div
/模板
脚本
导出默认值{
props: [parentMessage],
data() {
返回{
卡体:“子组件”
};
}
};
/脚本
父传子源码
二、子传父动图效果
父组件:
模板
差异
差异
p v-html=theCardTitle/p
span{{parentMessage}}/span
child card one @ child by value= child by value /child card one
/div
/div
/模板
脚本
从导入ChildCardOne./sub/ChildCardOne ;
导出默认值{
data() {
返回{
标题:“父组件”,
parentMessage:“”
};
},
组件:{
儿童卡酮
},
方法:{
childByValue(childValue) {
this . parent message=child value;
}
}
};
/脚本
子组件:
模板
差异
p v-text=theCardTitle/p
span { {儿童值}}/span
差异
button @click=okOK/button
/div
/div
/模板
脚本
导出默认值{
data() {
返回{
标题:“子组件”,
ChildValue:“我是子组件的数据”
};
},
方法:{
ok() {
这个。$emit(childByValue ,this . child value);
}
}
};
/脚本
子传父源码
也可以说这一部分的内容是提取组件传递过程的关键代码,帮助大家更好的理解如何使用价值传递!
三、详细解说组件传递过程:组件传值模板
1.父---子
子组件使用props接收父组件传递的数据。
是指从外部设置的属性,子组件需要设置props属性。
注意:
Props严格用于父组件与子组件之间的单向通信,你不想尝试直接在子组件中改变props的值。
否则,您将收到类似“避免直接修改属性,因为当父组件重新渲染时,该值将被覆盖”的错误消息。
父组件:
1.单击事件以传递值,并在模板中添加组件。
Button@click=OK 向子组件/按钮发送消息
2.父组件自定义方法在数据中传递数据:
子组件名:自定义事件=绑定方法/子组名
data(){
返回{
自定义事件:“”
};
},
3.参考子组件:
从“子组件路径”导入子组件名称;
4.在与方法相同的级别注册子组件:
组件:{
子组件名称
},
5.在方法中编写click事件
方法:{
OK(){
这个。自定义事件=传递过去的数据;
}
}
子组件:
1.定义一个插槽来接收通过渲染传输的数据。
Div-html=自定义事件/div
1.接收父组件传递的值
脚本
导出默认值{
道具:[自定义事件],
};
属性props
父组件通过引用将值传递给子组件。
父组件:
1.参考子组件:
从“子组件路径”导入子组件名称;
2.在与方法相同的级别注册子组件:
组件:{
子组件名称
},
3.要看你有什么需求,什么需求写在什么功能下:
周期函数(){this。$参考文献。父组件名称。子组件名称="传递的参数" }
4.声明父组件的名称:
子组件名称ref="父组件名称"/子组件名称
子组件:
1.声明子组件:
组件名称子组件名称/组件名称
2.将子组件名称定义到数据中:
Data(){return{子组件名称:}}
引用refs传值
2.子---父
子组件:
1.使用插值表达式显示传递的数据:
Span{{子组件数据}}/span
2.将变量定义为数据
导出默认值{
data(){
返回{
子组件数据:“子组件数据”
};
},
}
3.单击事件以传递值,并在模板中添加组件:
button@click=okOK/button
4.将值传递给父组件,并在方法下定义事件:
方法:{
ok(){
这个。$emit(自定义事件,this。子组件数据);
}
}
};
父组件:
监听自定义事件
1.使用插值表达式显示子组件传输的数据。
Span{{插值表达式}}/span
2.将变量定制为数据
导出默认值{
data(){
返回{
插值表达式:“”
};
},
};
3.父组件的自定义方法侦听子组件传递的值:
子组件名@自定义事件=绑定方法/子组名
4.参考子组件:
从“子组件路径”导入子组件名称;
5.在与方法相同的级别注册子组件:
组件:{
子组件名称
},
6.监听方法中子组件传递的值:
方法:{
自定义事件(子组件数据){
这个。插值表达式=子分量数据;
}
}
以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。