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

news/2024/7/10 0:47:21 标签: Vue, Vue-cli, vue组件传值

(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>


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


http://www.niftyadmin.cn/n/1431398.html

相关文章

原生 和 Vue 分别是如何使用”懒加载“?

前言 懒加载&#xff0c;是对前端的一种优化方法。通过它可以有效的降低请求量&#xff0c;让页面加载速度快到飞起&#xff0c;减轻服务器的压力&#xff0c;节省流量&#xff0c;提升用户的体验。 一、原生方法引用懒加载&#xff08;函数节流函数防抖&#xff09;(throttle…

JavaScript 中 this 的几种应用场景

前言 话不多说&#xff0c;直接上代码剖析… 场景1__全局环境中 this指向 全局对象 this.a 10; alert(a); // 10b 20; alert(this.b); // 20场景2__对象 内部函数的 this指向 调用函数的 当前对象 var a 10; var bar {a:20,test: function(){alert(this.a);} } bar.t…

localstroage的存储、读取、删除

前言 存储&#xff1a;localStorage.setItem(‘key’, value)读取&#xff1a;localStorage.getItem(‘key’)删除&#xff1a;localStorage.removeItem(‘key’)全部删除&#xff1a;localStoerage.clear() 一、使用说明 localstroage存储&#xff08;先将要存储的数据转为字…

常见的浏览器内核

前言… 浏览器内核是什么东西。英文叫做&#xff1a;Rendering Engine&#xff0c;中文翻译很多&#xff0c;排版引擎、解释引擎、渲染引擎&#xff0c;现在流行称为浏览器内核. 梳理了一些我们常用的浏览器及内核… 内核浏览器备注私有属性(兼容写法)TridentIEIE、猎豹安全、…

rem如何适配移动端

浏览器设置rem常用方法 rem&#xff0c;它是相对根元素 html 的 font-size 字体大小来变化的。而浏览器的默认根元素字号是16px&#xff0c;也就是说默认情况下&#xff0c;浏览器的 1rem 16px。 那么在使用过程中&#xff0c;咱们不可能通过16px来计算&#xff0c;因为那么…

数据库基本操作—表(一)

一、创建表 表是数据库存储数据的基本单位。个一个表包含若干字段或记录&#xff1b; 语法&#xff1a; CREATE TABLE 表名( 属性名 数据类型 [完整性约束条件],属性名 数据类型 [完整性约束条件],......属性名 数据表格 [完整性约束条件] )约束条件说明Primary Key属性为该…

数据库基本操作—查询(二)

一、单表查询 &#xff08;1&#xff09;查询所有的字段 Select 字段 1, 字段 2, 字段 3,...From 表名; Select * From 表名;&#xff08;2&#xff09;查询指定字段 Select 字段 1, 字段 2, 字段 3,...From 表名;&#xff08;3&#xff09;Where条件查询 Select 字段 1, 字…

文本换行符/空格符怎么在HTML中进行转换?

问题来啦&#xff1a; 从数据库中取到的text文本段落&#xff0c;段落里面的换行符无法直接在HTML中显示&#xff0c;如下&#xff1a; 而数据库中的段落是正常&#xff1a; 解决处理后正常换行&#xff1a; 解决方案&#xff1a; &#xff08;1&#xff09;因为数据库文本…