<!-- 父组件 -->
<!-- 父组件调用子组件,看成是调用子组件函数,给子组件传值,就是给函数传参数 -->
<template>
<div>
<!-- 传递动态值前面加个冒号: -->
<!-- 传递静态值就不需要冒号 -->
<childComponent :msg="msg1" />
</div>
</template>
<script> import childComponent from "./child.vue";//引入组件 export default{
components:{
childComponent//注册组件 }, data(){
return{
msg1:"你好" } } } </script><!-- 子组件 -->
<!-- 把子组件看成一个函数,props里面就是子组件接受的参数 -->
<template>
<div>
{
{msg}}
</div>
</template>
<script> export default{
props:{
msg:{
type:String, default:"1" } } } </script><!-- 父组件 -->
<!-- 子组件向父组件传值就不一样了,需要用到$emit和$on -->
<!-- 父组件监听函数使用@后面接上函数名 -->
<template>
<div>
<!-- 传递动态值前面加个冒号: -->
<childComponent @eventName="handleEvent" />
</div>
</template>
<script> import childComponent from "./child.vue";//引入组件 export default{
components:{
childComponent//注册组件 }, methods:{
handleEvent(data){
//监听子组件触发的函数,data为子组件给父组件传的值 console.log(data); } } } </script><!-- 子组件 -->
<!-- 把子组件看成一个函数,props里面就是子组件接受的参数 -->
<template>
<div>
<button @click="triggerEvent">给父组件传值</button>
</div>
</template>
<script> export default{
data(){
msg:"给父组件的信息" }, methods:{
triggerEvent(){
this.$emit("eventName",this.msg);//第一个参数是触发的事件名称,对应着父组件@监听的名字,第二个参数是传给父组件的额外参数,传递多个参数可以直接传对象过去。 } } } </script>版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234588.html原文链接:https://javaforall.cn