L&Z's blog L&Z's blog
主页
  • HTML
  • CSS
  • JS
  • TS
  • Vue
  • Node
  • Markdown
  • Yaml
  • HTML
  • CSS
  • JS
  • TS
  • Vue
  • Node
  • 小程序
  • 博客
  • 工作
  • VSCode
  • Browser
  • Npm
  • Git
  • GitHub
  • 友链
  • 收藏
  • 足迹
  • 记录
  • 抽奖
  • 错 or 对
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

L&Z

主页
  • HTML
  • CSS
  • JS
  • TS
  • Vue
  • Node
  • Markdown
  • Yaml
  • HTML
  • CSS
  • JS
  • TS
  • Vue
  • Node
  • 小程序
  • 博客
  • 工作
  • VSCode
  • Browser
  • Npm
  • Git
  • GitHub
  • 友链
  • 收藏
  • 足迹
  • 记录
  • 抽奖
  • 错 or 对
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • CSS

  • JS

  • Vue

    • 基础

    • 组件

      • 使用组件的细节点
      • 父组件给子组件传值
      • 子组件派发事件和值给父组件
        • 父子组件间传递数据 demo
      • Prop验证与非Prop的Attribute
      • 自定义事件
      • 兄弟组件传值
      • 非父子组件传值
      • 父组件调用子组件方法并传入值
      • 动态组件与v-once指令
      • 插槽slot
      • vue父子组件的生命周期顺序
    • 过渡&动画

    • 可复用性&组合

    • 工具

    • 规模化

    • Vuex

    • Axios 常用配置
    • Vue中的防抖函数封装和使用
    • 操作本地缓存
  • Node

  • 小程序

  • 博客搭建

  • 工作

  • 笔记
  • Vue
  • 组件
lz
2021-08-04
目录
父子组件间传递数据 demo

子组件派发事件和值给父组件

API (opens new window)

子组件通过$emit派发事件和值给父组件(值可以有多个)

this.$emit('fnX', value)
1

父组件通过v-on绑定子组件派发的事件,并触发一个新的事件,新的事件内可以接收传来的值

<ComponentName @fnX="fnY"></ComponentName>

methods: {
  fnY(value) {
    console.log(value)
  }
}
1
2
3
4
5
6
7

# 父子组件间传递数据 demo

<div id="root">
  <counter :count="0" @change="handleChange"></counter> +
  <counter :count="1" @change="handleChange"></counter> = <span>{{total}}</span>
</div>

<script>
const counter = {
  props: ['count'], // 接收父组件传来的值
  data() {
    return {
      number: this.count // 拷贝prop值的副本,用于修改
    }
  },
  template: '<button @click="handleClick()">{{number}}</button>',
  methods: {
    handleClick() {
      this.number++ // 由于单向数据流,不能直接修改prop的值
      this.$emit('change', 1) // 派发事件并传出值,值可以有多个
    }
  }
}
const vm = new Vue({
  el: '#root',
  data: {
   total: 1
  },
  components: {
    counter
  },
  methods: {
    handleChange(step) {
      // step 子组件传来的值
      this.total += + step
    }
  }
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
编辑 (opens new window)
#Vue
上次更新: 2023/03/08, 02:53:55
父组件给子组件传值
Prop验证与非Prop的Attribute

← 父组件给子组件传值 Prop验证与非Prop的Attribute→

最近更新
01
nodejs递归读取所有文件
12-15
02
vue3响应式原理
09-20
03
原生js实现jquery中siblings效果
09-20
更多文章>

Related Issues not found

Please contact @lzlife to initialize the comment

Theme by Vdoing | Copyright © 2021-2025 L&Z |
  • 跟随系统
  • 浅色模式
  • 深色模式