vue组件传值

作者: Trowa | 来源:发表于2018-05-05 16:03 被阅读171次

1、通过路由传值

A组件通过params把参数传递给B组件(触发事件可以是点击事件、钩子函数)
let params = {
        amount      :item.amount,           //金额
        payment     :item.payment,          //交易方式
        code        :item.code,             //商家代码
        serial_num  :item.serial_num,       //流水号
    }
this.$router.push({path:'/income/detail',name:'incomeDetail',params:params})
在B组件获取A传递过来的值
let params = this.$route.params

2、通过Session Storage缓存的形式传值

在A组件中设置缓存
const orderData = {'orderId':123456,'price':100}
sessionStorage.setItem('缓存名称',JSON.stringify(orderData))
在B组件中获取缓存
const data = JSON.parse(sessionStorage.getItem('缓存名称'))

3、父子组件传值

原理:父组件通过props向下传递数据给子组件,子组件通过events给父组件发送消息。

父子传值原理图

3.1 父组件给子组件传值props

父组件App.vue

<template>  
   <div id="app">  
       <child :childMessage="content"></child>  
   </div>  
</template>  

<script>  
import child from './components/Child'  
export default {  
    name : 'app'  
    components:{  
        child
    }
    data(){
        return {
            content:'Send Message to Child'
        }
    }
</script> 

子组件Child.vue

<template>  
   <div>  
       <h2>child子组件部分</h2>  
       <p>{{childMessage}}</p>  
   </div>  
</template>  
  
<script>  
export default {  
    //方式1
    props: ['childMessage']
    //方式2
    props: {
         childMessage: String  //指定类型
    }
    //方式3
    props : {
        childMessage:{
            type:String, //指定类型,常用类型有 String Number Object Boolean...
            default:''
        },
    }
}  
</script>   

3.2子组件给父组件传值

父组件App.vue

<template>  
    <child @showMessage="show" :message="message"></child> //监听子组件触发的showMessage事件,然后调用show方法
</template>  

<script>
methods: {
    show(message) {
        this.message = message;
    }
}
</script>

子组件Child.vue

<template>
    <div @click="sendMessage"></div>
</template>

<script>
methods: {
   sendMessage() {
        this.$emit('showMessage','Send Message to Father'); //触发showbox方法,'the msg'为向父组件传递的数据
    }
}
</script>

相关文章

  • Vue - 传值

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

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

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

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

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

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

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

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

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

  • 2019-03-13

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

  • 2019-03-13

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

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

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

  • Vue组件传值

    vue组件传值 一、父组件向子组件传值方式: 1. 子组件中定义props,父组件向子组件props进行传值。 2...

  • Vue 父组件向子组件传值

    Vue 父组件向子组件传值 demo代码 (vue.js ...

网友评论

  • IT人故事会:博主加油!我也是开始写不久,哈哈
    Trowa:@IT人故事会 谢谢支持:pray:

本文标题:vue组件传值

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