Vue-cli 中是如何进行父子组件间传值的

(1)子组件 — data —> 父组件

父组件(Regist.vue)部分:
<template>
    <div class="regist">
        这里是注册页面!
        <!-- 2、通过绑定属性来传值给子组件 -->
        <RegistInfo :msg="msg"/>  
    </div>
</template>
<script>
// 导入子组件
import RegistInfo from "../components/RegistInfo.vue"

export default {
    name: "regist",
    components: {
        RegistInfo	// 子组件名
    },
    data() {
        return {
            msg: "撒拉嘿~"	// 1、定义要传递的数据
        }
    }
 }
 </script>

子组件(RegistInfo.vue)部分:
<template>
    <div class="regist">
        <h3>用户名</h3>
        <h3>手机号码</h3>
        <h3>验证码</h3>
        <!-- 2、渲染值 -->
        <h6>{{ msg }}</h6>
    </div>
</template>
<script>
export default {
    name: "regist",
    // 1、通过props来接收父组件的值
    props: {
  		// 变量名:变量类型(String/Number/Boolean/Null/ Object/Array)
        msg: String
    }
}
</script>



(2)父组件 — data —> 子组件

子组件(Regist.vue)部分:
<template>
    <div class="regist">
        <h3>用户名</h3>
        <h3>手机号码</h3>
        <h3>验证码</h3>
        <!-- 1、通过 点击--事件 来触发传值 -->
        <button @click="sendmessage">立即找回</button>
    </div>
</template>
<script>
export default {
    name: "regist",
    methods: {
        sendmessage:function(data) {
        	// 2、由this.emit("自定义方法名",发送内容)
            this.$emit("getmsg","撒拉嘿呦!");
        }
    }
}
</script>
父组件(Regist.vue)部分:
<template>
    <div class="regist">
        这里是注册页面!
        <!-- 1、通过绑定事件来获取子组件的值——>@子组件里自定义方法名="父组件里接收的方法名" -->
        <RegistInfo @getmsg="getmsgFromChild"/>
        <h6>{{ getmsg }}</h6>
    </div>
</template>
<script>
import RegistInfo from "../components/RegistInfo.vue"

export default {
    name: "regist",
    components: {
        RegistInfo
    },
    data() {
        return {
            getmsg: "",
        }
    },
    methods: {
    	// 2、定义个方法接收子组件,data就是子组件发送的内容
        getmsgFromChild(data) {
            console.log(data);
            this.getmsg = data;
        }
    }
}
</script>


说明:父子组件传值我是分开来写的,这样应该看得会清晰一点。当然也可以合并一起,没什么影响哈~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值