vue基础 - 事件回传之 $listeners

解决的问题

简单的元素层次嵌套 事件回传

对象

  • $listeners

组件由下向上回传事件

代码


<script src="https://cdn.jsdelivr.net/npm/vue"></script>

<div id="app">
  <demo1 
    @chData1="changeData1" 
    @chData2="changeData2" ></demo1>
</div>

<script lang="javascript">

  var demo11 = {
    template: `
      <div>
        传递二层:<p @click="$listeners.chdata2()">子组件</p> 
      </div>
      `
  }

  var demo1 = {
    template: `
      <div>
        传递一层:<p @click="$emit('chdata1')">子组件</p>  <p @click="$listeners.chdata1()">子组件</p>  
        <demo11 v-on="$listeners"></demo11>
      </div>
    `,
    components:{
      demo11
    },
    created () {
      console.log(this.$listeners)
    }
  }

  var app = new Vue({
    el: '#app',
    components:{
      demo1
    },
    methods: {
      changeData1: function() {
        alert(1)
      },
      changeData2: function() {
        alert(2)
      }
    }
  })

</script>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,581评论 1 11
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,876评论 25 709
  • 看了朋友圈上转发的今日头条里关于寒门学子入名校的讨论,实在是有感而发不得不说说我自身的经历。 首先得澄清我上的不是...
    elaine666阅读 293评论 1 1
  • AWS EC2有一个元数据区,里面可以保存一些数据。AWS有一个创新是在元数据区保存角色信息,角色的Princip...
    阿呆少爷阅读 3,510评论 0 1
  • 以前的以前 认为最好的爱就是一见钟情 那样的感觉坚持了好多年 后来才知道最好的爱情是举案齐眉相濡以沫 细想 原来一...
    怎么都被用了呢阅读 290评论 6 6