美文网首页
02.4 - vue 组件传参,监听子组件事件

02.4 - vue 组件传参,监听子组件事件

作者: 大大的小小小心愿 | 来源:发表于2019-01-14 11:02 被阅读0次

一、需求分析:

父组件中点击事件显示出子组件;并且监听子组件内部事件(在父组件中隐藏子组件等操作)。


二、代码

1、父组件【Start】点击事件,显示子组件【Public】 (props方法)

父组件代码【Srart】:

<li class="flex-con sel" @click="selModelFn(1)">蔬果</li>

<public v-if="alertDara"   -------------------------------【1】
    :alertDara="alertDara"   -----------------------------【2】
    @alertBack="alertBackFn"    --------------------------【3】
    @alertSure="alertSureFn"   ---------------------------【4】
></public>  
image.png

事件

    selModelFn: function(v) {
      console.log(v);
      // 弹框样式
      var alertDara = {
        title: "启动五谷模式",
        titleColor: "pink",
        content: "设备已经是启动模式,为了保障安全,请在设备机上点击启动按钮。",
        contentColor: "gray",
        btn: ["返回", "确定"],
        btnColor: ["", ""]
      };

      this.alertDara = alertDara;
    },


    alertBackFn: function(data) {
      this.alertDara = '';
      console.log("点击了取消",data)
    },
    alertSureFn:function(data){
       this.alertDara = '';
      console.log("点击了确定",data)
    }

[图片上传中...(image.png-3c3c38-1552016390278-0)]

1、selModelFn 事件,改变 'alertDara' 值,显示或隐藏子组件(Public) 。 【1】
2、通过 props 方法向 子组件传参;子组件拿到参数显示对应的内容 。【2】
3、监听子组件事件(alertBackFn),进而触发父组件事件(alertBackFn),继续下一步操作【3/4】
注:通过 $emit 方法监听子组件事件,'alertBack' 为 emit 的属性名称(自定义)。
props传参详解:https://www.jianshu.com/p/d0cc6eb0226e



子组件代码:

<div
  class="btn-back flex-con"
  v-if="alertDara.btn[0]"
  :style="{color:alertDara.btnColor[0]}"
  @click="alertBackFn"
>{{alertDara.btn[0]}}</div>

[图片上传中...(image.png-672b02-1552016063700-0)]

事件

    props:['alertDara'],     --------------------------------------- 【1】

    alertBackFn:function(){  --------------------------------------- 【2】
      this.$emit('alertBack', '这是子组件传递的消息');
    },
    alertSureFn:function(){

      this.$emit('alertBack', '这是子组件传递的消息');
    }
image.png

1、拿到父组件传的参数,显示子组件相应内容
2、子组件事件:通过 emit 向父组件传参,父组件再通过 props 改变子组件显示内容。eimit子组件向父组件传参:https://www.jianshu.com/p/3f8dff126d90
[图片上传中...(image.png-b03028-1552016030915-0)]

gitHub: https://github.com/caoguoli/vue-maskALert

相关文章

  • 02.4 - vue 组件传参,监听子组件事件

    一、需求分析: 父组件中点击事件显示出子组件;并且监听子组件内部事件(在父组件中隐藏子组件等操作)。 二、代码 1...

  • SSM单体架构项目 (下)

    Vue 组件 组件导入 组件传参 props 组件传参,父组件向子组件传参 分页 引入分页组件

  • vue组件通信

    vue的组件传参的方式父子组件传参1.prop和emit是子传父,子组件监听一个事件,父组件调用并接受子组件传递过...

  • vue组件之间通信

    vue父组件给子组件传参使用props子组件给父组件传参使用时间派发$dispatch兄弟组件之间传递参数使用vuex

  • vue组件传参问题

    在vue项目中会经常遇到组件传参问题,今天就来了解一下父子组件和兄弟组件传参 父组件传值给子组件 *父组件通过 ...

  • vue第七节

    Vue里组件的通信 通信:传参、控制(A操控B做一个事件)、数据共享 模式:父子组件间、非父子组件 父组件可以将一...

  • uniApp自定义组件

    自定义组件代码 语法,传参,事件跟VUE一致 ,请参数vue的写法

  • Vue父子组件通信之$emit(基于vue2.5,ES6)

    一、$emit的作用 在Vue中,父组件监听子组件触发的事件,需要在子组件用使用 $emit 触发,在父组件中使用...

  • Vue3_24(兄弟组件传参和Bus)

    1. 借助父组件传参 例如父组件为App 子组件为A 和 B他两个是同级的 A 组件派发事件通过App.vue 接...

  • Vuex 数据流管理

    组件通讯 父子组件传值 通过 props 向子组件传递数据 Parent Child 子父组件传值 通过监听子组件...

网友评论

      本文标题:02.4 - vue 组件传参,监听子组件事件

      本文链接:https://www.haomeiwen.com/subject/upcddqtx.html