美文网首页前端面试题
vue传值(Ⅰ)---父子组件传值

vue传值(Ⅰ)---父子组件传值

作者: 小薇同学v | 来源:发表于2020-06-10 10:57 被阅读0次

vue父子组件传值

父子组件传值 (Parent/Child)

1、 props/$emit

(1)父传子,props

在父组件中引用的子组件上绑定

 <m-child :msg="'from Parent msg'"></m-child>

在子组件中用props接收

  props: {

    msg: {

      type: String,

      default: ""

    }

  },

(2)子传父,$emit

在子组件中一般用事件触发,$emit中是传给父组件的自定义事件名和内容

 <button @click="walk">走妳</button>

 methods: {

    walk() {

        this.$emit('showMsg','from child')

    }

  }

在父组件中引用的子组件上,通过监听子组件的自定义事件,获取传过来的内容,在data里定义展示传过来内容的变量,并写一个方法接收这个传过来的值

  <m-child :msg="'from Parent msg'" @showMsg="show"></m-child>

 data() {

    return {

      msgOne: ""

    };

  },

  methods: {

    show(val) {

      this.msgOne = val;

    }

  }

2、$parent/$children

在父组件中可以用this.$children接收子组件传过来的data里的变量值,或者定义的方法

在子组件中可以用this,$parent接收父组件传过来的data里的变量值,或者定义的方法

 mounted() {

    console.log(this.$parent);

  }

3、ref

本质上与$parent/$children是一样的,但是使用的操作有所不同,在组件上绑定ref,接收的时候需要this.$refs

 <m-child :msg="'from Parent msg'" @showMsg="show" ref="child"></m-child>

mounted () {      console.log(this.$children[0].child);      console.log('ref',this.$refs.child);  }

相关文章

  • Vue父子组件通信和双向绑定

    本篇文章主要介绍父子组件传值,组件的数据双向绑定。 1. 基础父子组件传值 父子组件传值,这是Vue组件传值最常见...

  • (VUE3) 四、组件传值(父子组件传值 & 祖孙组件传值 &v

    1.父子组件传值 vue2中的父子组件传值:父组件: 子组件: vue3中的父子组件传值: 还是用props接收父...

  • 组件通信

    vue传值可分为父子之间传值、兄弟组件之间传值、跨代组件之间传值 1.父子之间传值:可以使用$emit/props...

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

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

  • 前端基础搬运工-VUE模块

    十、VUE模块 基础部分 1. Vue组件间传值 答: -[ ] 1.父子之间的传值 父组件向子组件传值通过p...

  • vue2.0的三种常用传值方式,并且如何实现?

    vue2.0 组件传值方式有三种:父组件向子组件传值,子组件向父组件传值,非父子组件传值 : 父传子: 首先现在父...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • 组件之间的传值

    组件之间的传值,包括父子组件传值,兄弟组件之间的传值,其中父子组件包括父组件向子组件传值和子组件向父组件传值,现在...

  • Vue组件之间的传值

    Vue父子组件之间的传值(props)兄弟组件 VUEX

网友评论

    本文标题:vue传值(Ⅰ)---父子组件传值

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