码迷,mamicode.com
首页 > 其他好文 > 详细

vue 实现子向父传值

时间:2019-04-24 19:19:00      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:class   methods   his   font   钩子   子函数   efault   lis   pre   

父组件
<template>
  <div id="app">
    <child @onChange='onChildValue'></child>
    <div v-if='index == 0'>这是index为零的值</div>
    <div v-else-if='index == 1'>这是index为壹的值</div>
    <div v-else='index == 2'>这是index为贰的值</div>
  </div>
</template>

<script>
// 引入子组件
import child from './components/child.vue'
export default {
    //放入到组件钩子函数中
  components:{child},
  data(){
    return{
      index:0
    }
  },
  methods:{
    // val 从子组件中获取到的值
    onChildValue(val){
      this.index = val
      console.log(val)
    }
  }
}
</script>

<style scoped> 

</style>
子组件
<template>
    <div class="child">
        //根据条件判断 显示切换之后的样式
        <button v-for="(item,index) in list" :key="item.index" :class="[index == num ? 'add' : '']" @click="addStyle(index)">
            {{ item }}
        </button>
    </div>
</template>

<script>
export default {
    data(){
        return{
            list:['推荐','必备','爆款'],
            num:0
        }
    },
    methods:{
        addStyle(index){
            // 进行子向父传值
            this.num = index
            //使用$emit想父组件进行传值
            this.$emit("onChange",this.num)
        }
    }
}
</script>

<style scoped>
    button{
        margin-left:30px;
    }
    .add{
        color:red;
        font-size:26px;
    }
</style>

vue 实现子向父传值

标签:class   methods   his   font   钩子   子函数   efault   lis   pre   

原文地址:https://www.cnblogs.com/a-pupil/p/10764287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!