vue 实现子向父传值

父组件
<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>

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

时间: 2024-10-11 04:28:11

vue 实现子向父传值的相关文章

小程序的组件通讯三种方法==子向父传值

小程序的组件通讯三种方法 ============================ ================================ 子向父传值 第一步:小程序子向父传值在父组件定义方法 第二步:小程序子向父传值第二部在使用子组件的标签上在父的wxml文件中把方法传递给子组件 第三步:小程序子向父传值第三步在子组件的js文件中调用this·triggerEvent触发方法同时传递参数给父组件 第四步:第四步在第一步定义好的方法内部通过e·detail来接收子组件传递回来的参数 原

深度剖析Vue中父给子、子给父、兄弟之间传值!

本片文章将为您详细讲解在Vue中,父给子传值.子给父传值以及兄弟之间传值方式! 父传子:父组件 // template里面 <aa :info="name"/> // script里面 import aa from './aa.vue' components:{ aa }, data(){ return{ name : '小明' } } 父传子:子组件 // template里面 {{info}} // script里面 export default { props :['

vue中组件间的通信,父传子,子传父

参考文章 :https://www.cnblogs.com/yszblog/p/10135969.html 1 父传子 子组件Vue 父组件 注册子组件 子组件在props中创建一个属性,用以接收父组件传过来的值 父组件中注册子组件 在子组件标签中添加子组件props中创建的属性 把需要传给子组件的值赋给该属性 2 通过$emit  子组件向父组件传值 2.1 子组件Vue 2.2 父组件 2.3 父组件监听子组件发射的事件名 子组件中需要以某种方式例如点击事件的方法来触发一个自定义事件 将需要

【vue组件之间互相传值:父传子,子传父】

今看到一篇很不错的vue组件传值文章,便于理解,遂做笔记- 一般页面的视图App.vue应为这样 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue2.Child.vue的中创建props,然后创建一个名为message的属性 3.在App.vue中注册Child组件,并在template中加入child标签,标签中添加message属性并赋值 4.保存修改的文件,查看浏览器 5.我们依然可以对message的值进行v-bind动态绑定 此

VUe.js 父组件向子组件中传值及方法

父组件向子组件中传值 1.  Vue实例可以看做是大的组件,那么在其内部定义的私有组件与这个实例之间就出现了父子组件的对应关系. 2. 父子组件在默认的情况下,子组件是无妨访问到父组件中的数据的,所以要想在子组件中使用父组件的数据的时候,就需要以属性绑定的形式,将父组件的数据传递到子组件中.     3. 通过属性绑定传递来的数据无法再子组件中直接使用,需要在props中重新定义以后才可以使用.例:props:['变量名'].props是一个数组.    4. 子组件中的data数据都是私有,子

浅谈VUE传值问题,父传子,子传父,兄弟传兄弟。。。

首先我们先定义3个页面,一个主页面,两个子页面 例:myForm 和 myTabel 是定义的两个子页面 第一步:在主页面引入 import myForm from "@/MyForm"; import myTabel from "@/MyTable"; 第二步:在 components 注册  (注册完必须进行第三步.不然会报错) components: {     myForm,     myTabel, } 第三步:插入 <myForm></

vue父组件向子组件动态传值的两种方法

在一些项目需求中需要父组件向子组件动态传值,比如我这里的需求是,父组件动态通过axios获取返回的图片url数组然后传给子组件,上传图片的子组件拿到该数组后进行遍历并展示图片 方法有两种, 方法一: props传值,这里注意一个问题,传过来的值需要用watch监听并赋值,否则这里获取到的是空数组   父组件: <uploadImg :width="200" :height="200" name="productImage" size=&qu

Vue 父组件与子组件之间传值

一.父组件与子组件之间值传递步骤如下: 例如:我有一个父组件Myhome.vue 和一个子组件Header.vue 1.父组件调用子组件的时候,动态绑定属性值 <v-myheader :title="title"></v-myheader> 2.在子组件使用 props 来接受父组件传过来数据(props:['title']),如果是多个就定义多个属性就可以 完整代码如下: 1.Myhome.vue(父组件)代码如下: <template> <

vue的组件通讯 父传子 -- 子传父-- 兄弟组件的传值 vue的组件传值

首先文字简单撸一下 父子传子   -------首先在父组件上绑定一个属性,在子组件里用props接收,可以是数组或者是对象 子传父   ------在父组件升上自定义一个方法,在子组件里通过this.$emit("父组件上的方法名",a)     /-------a------/代表需要传递的参数        兄弟组件通讯   需要创建一个公共的vue 实例, new vue()    在main.js里 书写Vue.prototype .com=new vue()    通过pr