美文网首页
vue父子组件的通信

vue父子组件的通信

作者: cnOWgo | 来源:发表于2017-11-11 19:28 被阅读0次

案例是实现一个子组件里包含两个button,分别为“+”、“-”,对父组件的数字进行加减运算

子组件

<template>
  <div>
    <button v-on:click="increment">+</button>
    <button v-on:click="decrement">-</button>
    <p><span>{{num}}</span></p>
  </div>
</template>
export default{
    props:["num"],
    methods:{
      increment(){
        this.$emit("incre");
      },
      decrement(){
        this.$emit("decre");
      }
    }
  }

父组件

<template>
  <div class="hello">
    <counter v-bind:num="num" v-on:incre="increment" v-on:decre="decrement"></counter>
    <p>parent:{{num}}</p>
  </div>
</template>

<script>
import counter from './counter.vue';

export default {
  data () {
    return {
      num:0
    }
  },
  methods:{
    increment(){
      this.num ++;
    },
    decrement(){
      this.num --;
    },
  },
  components:{
    counter
  }
}
</script>

父组件往子组件传递:props

在定义子组件时需加上props属性,内容为数组

props:["num"]

无论父组件的num出于怎样的变化,子组件的num都会跟随变化

子组件往父组件传递:$emit()

父组件自身可以改变num,此情况比较简单,但偶尔需要子组件来触发父组件的变化,诸如合计功能,子组件的单项数值改变,父组件的合计值需要随之更改,此时,需要v-on子组件的$emit事件,触发父组件自身的方法,改变num。

 <counter v-bind:num="num" v-on:incre="increment" v-on:decre="decrement">

其中“incre”、“decre”都是子组件$emit的内容,而“increment”、“decrement”为父组件的事件。

相关文章

  • Vue相关知识点

    1、vue父子组件之间的通信 在vue组件通信中其中最常见通信方式就是父子组件之中的通性,而父子组件的设定方式在不...

  • Vue如何实现组件通信?

    Vue组件通信的三种情况: 父子通信 爷孙通信 兄弟通信 父子通信:父组件使用Prop向子组件传递数据,子组件通过...

  • vue组件间通信的一些实用方法(VUE2.x)

    vue组件间通信的一些实用方法(VUE2.x) 一、父子组件间通信 常用的父子组件通信方法,一般涉及props和$...

  • vue2中eventbus遇到的坑

    前言 vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过 props 向下传数...

  • Vue事件总线(EventBus)使用详细介绍

    前言 vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过 props 向下传数...

  • Vue事件总线(EventBus)

    vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过props向下传数据给子组件...

  • VUE - EventBus

    vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过 props 向下传数据给子...

  • 09-生命周期及非父子组件间的通信

    一. Vue生命周期 二、生命周期代码 三、非父子组件通信 vue中非父子组件通信需要借助一个空的vue实例,案...

  • VUE组件(传值,生命周期)

    VUE生命周期 VUE子传父组件通信 VUE非父子组件传值

  • Vue组件通信

    Vue 组件之间的通信,通常我们遇到的都是父子组件之间的通信 一、父子组件传参 子组件定义 Props 属性; 父...

网友评论

      本文标题:vue父子组件的通信

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