vue组件传参

本文介绍了Vue中父子组件通信的两种方式:props从父到子和$emit从子到父,并展示了具体代码实例。同时,讲解了Vuex在状态管理中的应用,如何通过state保存数据以及在组件中通过commit和state获取数据。强调了数据的不可变性和单向数据流原则。
摘要由CSDN通过智能技术生成

1、父传子

在父组件通过import引入子组件,在父组件中通过v-bind绑定属性,在子组件中通过props获取绑定的属性,可以是数组,也可以是对象。

父组件:

<template>
  <div class="home">
    <about :info='info'/>
  </div>
</template>

<script>
import About from './About.vue'
export default {
  name: 'Home',
  data() {
    return {
      info: {
        name: '小明',
        age: 19
      }  
    }
  },
  components: {
    About
  }
}
</script>

子组件:

<template>
  <div class="about">
    {{info.name}}
  </div>
</template>

<script>
export default {
  props:['info']
}
</script>

子组件获取的数据不可修改,只能在父组件修改

2、子传父

子组件里面绑定一个方法,在这个方法里面用$emit()传出,$emit(函数名,传递的参数)里面的参数是父组件中定义的一个方法名称以及参数,父组件里面通过v-on接收这个参数,然后进行使用

子组件:

<template>
  <div @click='dian'>child</div>
</template>

<script>
export default {
  data() {
    return {
      info: {
        name: '小明',
        age: 19
      }  
    }
  },
  methods:{
    dian(){
      this.$emit('chuan',this.info)
    }
  }
}
</script>

父组件:

<template>
  <div class="home">
    <about @chuan='zhi'/>
  </div>
</template>

<script>
import About from './About.vue'
export default {
  name: 'Home',
  components: {
    About
  },
  methods:{
    zhi(data){
      console.log(data.name);
    }
  }
}
</script>

3、vuex

在vuex的state里面创建数据,需要修改数据在组件里通过this.$store.commit()在mutations里面修改,通过this.$store.state获取数据:

vuex:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    info: {
      name: '小明',
      age: 19
    }  
  },
  mutations: {
  },
  actions: {
  },
  modules: {
  }
})

组件:

<template>
  <div class="home">
    {{this.$store.state.info.name}}
  </div>
</template>

<script>
export default {
  name: 'Home'
}
</script>

总结:

到这里,我就介绍完了,祝大家生活愉快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值