要弄懂子组件如何向父组件传值,需要理清步骤

子组件向父组件传值的步骤

  一:子组件在组件标签上通过绑定事件的方式向父组件发射数据

    

  <!--html-->
<template id="ccp">
<div>
<button v-for='item of options' @click = 'sonclick(item)'>
{{item.name}}
</button>
</div>
</template>

  

 // 子组件的methods项目下
sonclick(item) {
console.log('我向父组件发射了一个事件', item.name);
this.$emit('getson', item) // 子组件向发射事件,
//参数1:规定必须父组件使用的事件类型,
// 参数2: 向父组件发射的数据 }

   说明:

    1:在子组件上绑定事件,在子组件的methods上定义这个函数

    2:在这个函数内部使用 this.$emit方法用于向父组件发射数据

    3: 参数1:要求父组件自定义的事件;参数2:要向父组件发射的数据内容

  二:父组件接收子组件发射的数据

    

<!-- vue实例下 -->
<div id="app">
<cpn @getson='times'></cpn>
</div>

  父组件使用v-on + 子组件的规定的事件名绑定一个函数来操作从子组件传递过来的数据   @getSonFnName = ''xxx''

 // vue实例的methods下
times(item) {
console.log(item.id)
}

  说明:

    1:父组件通过子组件规定的事件名来创建一个函数,并接收子组件传递的数据

    2:在父组件定义的函数内部可以处理子组件的数据

    3:由于子组件没有浏览器对象,所以定义函数时不用加参数,默认就是子组件传递的数据

    4:v-on用于在父组件绑定子组件规定的事件类型,因而v-on也可以绑定自定义事件

这样,就理解了vue子组件向父组件传值的过程。

以上。

vue子向父传值的更多相关文章

  1. vue 实现子向父传值

    父组件 <template> <div id="app"> <child @onChange='onChildValue'></child ...

  2. uniapp和vue 父向子传值、传方法及子向父传值。(一看就会超级简约)

    1.父向子传值:父组件在引用子组件时通过自定义属性绑定自身需要传递的值(数据),子组件用props:[  '自定义'  ]接收即可使用(props里数据是只读模式).(简约版:子绑定父的属性并用pro ...

  3. vue子传父、父传子

    子传父 vue子传父使用$emit传值 子组件: <template> <div> <button @click="toParent">点击传到 ...

  4. react hooks子给父传值

    子给父传值需要通过事件方法来传值,这里我们子组件是触发了一个点击事件传值: <Button onClick={()=>setshowregister(false)}>注册</B ...

  5. 【前端vue开发】vue子调父 $emit (把子组件的数据传给父组件)

    ps:App.vue 父组件 Hello.vue 子组件 <!--App.vue :--> <template> <div id="app"> ...

  6. vue子传父多个值

    子组件:this.$emit("methdosName",data1,data2,data3) 父组件: <child @methodsName="xxx(argu ...

  7. 学以致用 ---- vue子组件→父组件通信

    之前写过一篇关于 vue2.0中v-on绑定自定义事件 的随笔,但是今天实际应用的时候才发现根本就不理解,下面是实际工作中遇到的问题: [情景描述]页面中的[下拉搜索组件],因为多个页面中用到,所以抽 ...

  8. 深度剖析Vue中父给子、子给父、兄弟之间传值!

    本片文章将为您详细讲解在Vue中,父给子传值.子给父传值以及兄弟之间传值方式! 父传子:父组件 // template里面 <aa :info="name"/> // ...

  9. vue传参子传父

    vue子传父用$emit实现 1.文件目录结构 2.parent父组件内容 <template> <div class="wrap"> <div> ...

随机推荐

  1. 如何应用threejs实现立方体每个面用图片替换

    var geometry = new THREE.BoxGeometry(200, 200, 200);var materialsbg = []; for (var i = 0; i < geo ...

  2. 6、使用基元类型而不要使用 FCL 类型

    基元类型: int string object uint long ulong 等 ; FCL (Framework Class Library ) System.Int32 等. 一些定义在一些语言 ...

  3. Linux系统上安装配置MAVEN

    1,下载maven 首先进入maven下载目录:http://maven.apache.org/download.cgi 2,上传maven到linux系统 以下操作路径都是本人习惯,目录可以随意更改 ...

  4. springboot整合@Scheduled定时任务的使用

    1.启动类里面添加注解@EnableScheduling ,例如: @SpringBootApplication@EnableScheduling@MapperScan("com.examp ...

  5. Django后台管理系统的使用

    目录 django后台管理系统的使用 检查配置文件 检查根urls.py文件 启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车 注册后台管理系统超级管理 ...

  6. Windows10内嵌Ubuntu子系统初始化设置

    第一次启动 重启ubuntu Since Windows 10 version 1803, closing all WSL terminal windows won't kill background ...

  7. Promise.finally

    const Gen = (time) => { return new Promise((resolve, reject) => { setTimeout(function () { if( ...

  8. 创建dynamics CRM client-side (十四) - Web API

    Xrm.WebApi 是我们做前端开发不可不缺少的内容. Xrm.WebApi 分为online和offline online: 可以实现和服务器的CRUD交互 offline: 多用于mobile ...

  9. CSS-01-引入css的三种方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. Day4-Python3基础-装饰器、迭代器

    今日内容: 1.高阶函数 2.嵌套函数 3.装饰器 4.生成器 5.迭代器 1.高阶函数 定义: a:把一个函数名当作实参传给函数 a:返回值包含函数名(不修改函数的调用方式) import time ...