美文网首页
vue组件间的传值

vue组件间的传值

作者: 一枚小菜 | 来源:发表于2020-06-16 20:34 被阅读0次

1.父传子

1.v-bind(:)传值,props接收
2.$ref

props 是单向绑定的,子组件只能接收

props: {
    // fooA只接受数值类型的参数
    fooA: Number,
    // fooB可以接受字符串和数值类型的参数
    fooB: [String, Number],
    // fooC可以接受字符串类型的参数,并且这个参数必须传入
    fooC: {
      type: String,
      required: true
    },
    // fooD接受数值类型的参数,如果不传入的话默认就是100
    fooD: {
      type: Number,
      default: 100
    },
    // fooE接受对象类型的参数
    fooE: {
      type: Object,
      // 当为对象类型设置默认值时必须使用函数返回
      default: function() {
        return { message: "Hello, world" };
      }
    },
    // fooF使用一个自定义的验证器
    fooF: {
      validator: function(value) {
        return value >= 0 && value <= 100;
      }
    },
  fooG: {
      type:Array,
      // 当为数组类型设置默认值时必须使用数组返回
      default: function() {
        return [];
      }
    },
}

prop 着重于数据的传递,它并不能调用子组件里的属性和方法。像创建文章组件时,自定义标题和内容这样的使用场景,最适合使用prop。
$ref 着重于索引,主要用来调用子组件里的属性和方法,其实并不擅长数据传递。而且ref用在dom元素的时候,能使到选择器的作用,这个功能比作为索引更常有用到。

2.子传父(传方法)

v-on传值
$emit接收

//父组件
<thrid @cc="cc"></thrid>
  cc (msg) {
        alert(msg)
      },
//子组件
<template>
  <div>
    <div @click="cc(msg)">子传父</div>
  </div>
</template>
<script>
  export default {
    name: 'tried',
    data () {
      return {
        msg: '子组件的数据'
      }
    },
    methods: {
      cc () {
        this.$emit('cc', this.msg)
      }
    }
  }
</script>

3.兄弟组件传

新建一个bus.js用来中转

import Vue from 'vue'
export default new Vue()
//组件分别引用bus.js
 import Bus from '../bus'
//第一个
 <div @click="bb">发送</div>
 methods: {
      bb () {
        Bus.$emit('val', 'aaaaaaaa')
      }
    }
//第二个
 <span>{{name}}</span>
 mounted () {
      Bus.$on('val', (data) => {
        console.log(data)
        this.name = data
      })
    }

相关文章

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

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

  • vue 6种通信总结①

    常用vue通信大概有这几种方式进行: 组件间的父子之间的传值 组件间的子父之间的传值 非组件间的组件间的传值(简称...

  • Vue和React组件通信的总结

    在现代的三大框架中,其中两个Vue和React框架,组件间传值方式有哪些? 组件间的传值方式 组件的传值场景无外乎...

  • Vue组件间通信

    Vue组件间通信 父子组间通信 通过props向子组件传值,通过事件向父级组件发送消息 通过props向子组件传值...

  • 2020-03月前端面试题

    vue相关 vue父子组件传值方式有哪些? 兄弟组件间如何传值? vuex是用来干什么的? vuex核心模块有哪些...

  • vue 父子组件间的传值

    vue 中为了避免重复的代码,使页面更简洁,经常使用到组件,使用组件会牵扯到组件间的传值 常用的传值有: 父子间的...

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

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

  • Vue - 传值

    Vue 传值有两种:1)父组件向子组件传值(属性传值,Prop传值)2)子组件向父组件传值 一、父组件向子组件传值...

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

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

  • vue组件间传值问题总结

    vue项目中,组件间传值的问题总结: 父传子 父组件 子组件 上面父组件和子组件之间的传值是模拟接口请求数据,然后...

网友评论

      本文标题:vue组件间的传值

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