vue2.0 如何把子组件的数据传给父组件?

在父组件 App.vue 中引用子组件 A.vue,把 A中的数据传给App.

ps:没看父组件传给子组件的先看看去。

1、代码

子组件 A.vue

<template>
  <div>
    <h3>这里是子组件的内容</h3>
    <button v-on:click="spot">点一下就传</button>
  </div>
</template>

<script>
  export default {
    methods: {
      spot: function() {
        // 与父组件通信一定要加上这句话
        this.$emit("spot", '我是子组件传给父组件的内容就我。。')
      }
    }
  }
</script>

父组件 App.vue

<template>
  <div id="app">
    <!-- 父组件直接用 v-on 来监听子组件触发的事件。 -->
    <!-- 需跟子组件中的$emit组合使用 -->
    <A v-on:spot="spot"/>
  </div>
</template>

<script>
import A from './components/A'
export default {
  name: 'App',
  components: {
    A
  },
  methods:{
    spot:function(data){
      console.log(data)
    }
  }
}
</script>

2、总结

1、$emit很重要,使用 $emit(事件名,参数) 触发事件
2、子组件需要某种方式来触发自定义事件
3、父组件直接用 v-on 来监听子组件触发的事件,需跟子组件中的$emit组合使用。

3、效果

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

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,086评论 0 29
  • vue 2.0 渐进式框架 MVC 单向通信 > m:model 数据层 保存数据 > v:view视图层 用户界...
    web前端ling阅读 770评论 0 0
  • 此文基于官方文档,里面部分例子有改动,加上了一些自己的理解 什么是组件? 组件(Component)是 Vue.j...
    陆志均阅读 3,870评论 5 14
  • 序 今年大前端的概念一而再再而三的被提及,那么大前端时代究竟是什么呢?大前端这个词最早是因为在阿里内部有很多前端开...
    一缕殇流化隐半边冰霜阅读 11,293评论 19 92
  • 1.我怎么如此幸运。昨天和你聊天时,感觉如此的顺畅完美。 2.我怎么如此幸运。其实认识你也许是早已注定的。每次都是...
    张耀磊阅读 213评论 0 0