web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

vuejs如何实现父子组件相互通信

664 ℃
           

vuejs如何实现父子组件相互通信,下面web建站给大家详细介绍一下实现代码!

App.vue组件

<template>
  <div class="app">
    <h2>当前计数:{{counter}}</h2>
    <!-- 1.自定义add-counter 并且监听内部的add事件 -->
    <add-counter @add="addBtnClick"></add-counter>  
    <!-- 2.自定义su-counter组件,监听内部的sub事件 -->
    <sub-counter @sub="subBtnClick"></sub-counter>
  </div>
</template>
<script>
import AddCounter from './AddCounter.vue'
import SubCounter from './SubCounter.vue'
  export default {
  components: { 
  	AddCounter,
  	SubCounter
  },
  data() {
    return {
      counter:0
    }
  },
  methods:{
    addBtnClick(count) {
      this.counter += count
    },
    subBtnClick(count) {
      this.counter -= count
    }
  }
}
</script>

AddCounter子组件

<template>
  <div class="add">
    <button @click="btnClick(1)">+1</button>
    <button @click="btnClick(5)">+5</button>
    <button @click="btnClick(10)">+10</button>
  </div>
</template>
<script>
  export default {
    methods:{
      btnClick(count) {
        // 让子组件发出去一个自定义事件
        // 第一个参数自定义的事件名称,第二个参数是传递的参数
        this.$emit("add",count)
      }
    }
  }
</script>

SubCounter子组件

<template>
  <div class="sub">
    <button @click="btnClick(1)">-1</button>
    <button @click="btnClick(5)">-5</button>
    <button @click="btnClick(10)">-10</button>
  </div>
</template>
<script>
  export default {
    emits:["addd"],
    methods:{
      btnClick(count) {
        this.$emit("sub",count)
      }
    }
  }
</script>

子组件事件触发之后,通过this.$emit的方式进行发出事件!

Vue3如何通过子组件emit传递ref

vuejs实现全站联动

对vue进行多层组件监听

标签: emit, 组件监听

上面是“vuejs如何实现父子组件相互通信”的全面内容,想了解更多关于 vuejs 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_2728.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > vuejs
本文共计1138个字,预计阅读时长8分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款免费可商用仿宋字体——汉字之美仿宋GBK
下一篇: 推荐一款免费可商用英文字体——Atkinson Hyperlegible
x 打工人ai神器