首页 > 其他 > 详细

vue子父之间传值方式

时间:2020-11-09 18:05:21      阅读:31      评论:0      收藏:0      [点我收藏+]

子传父

  vue子传父使用$emit传值

  子组件:

<template>
    <div>
        <button @click="toParent">点击传到父级</button>
    </div>
</template>
<script>
export default {
    name: ‘child‘,
    methods: {
        toParent () {
            this.$emit(‘fromChild‘, ‘child‘)
        }
    }
}
</script>

  

 

 父组件

<template>
    <div>
        <p>子级传过来的值:{{childVal}}</p>
        <child @fromChild="getChild"></child>
    </div>
</template>
<script>
import child from "@/components/child";
 
export default {
    name: ‘parent‘,
    data () {
        return {
            childVal: ‘‘
        }
    },
    components: {
        child
    },
    methods: {
        getChild (v) {
            this.childVal = v;
        }
    }
}
</script>

  

 

 

传过来啦

父传子 

  子组件使用props接收 接收时还可以设置默认值 当没获取到值时 会使用设置的默认值

 父组件

 

<template>
    <div>
        <child :tochild="parentVal"></child>
    </div>
</template>
<script>
import child from "@/components/child";
 
export default {
    name: ‘parent‘,
    data () {
        return {
            parentVal: ‘parent‘,
        }
    },
    components: {
        child
    }
}
</script>

  

 

 

 子组件

<template>
    <div>
        <p>父级传过来的值:{{tochild}}</p>
    </div>
</template>
<script>
export default {
    name: ‘child‘,
    props: {
        tochild: String
    }
}
</script>

  

 

 

vue 自定义组件(父级,子级组件)传参

父组件:

<template>
    <div>
        <p>我在父组件</p>
        <p @click="alertClick(‘值‘)">点击向子组件传值</p>
        <alert v-on:Event_s="backRequest" ref="alert"></alert>
        //ref 声明组件  v-on回调事件名
    </div>
</<template>
<script>
import material from ‘alert‘;//引入子组件,子组件路径
export default {
    data() {
        return {}
    },
    //注册组件
    components: {
        alert: alert,
    },
    methods: {
        //使用this.$refs 调用alert组件 的myAlert方法
        alertClick(val){
          this.$refs.alert.myAlert(val);
        },
        backRequest: function (val) { //接收子组件返回的值,val值应该为:我是子组件返回给父组件的内容
          alert(val)
        },
    },
}
</script>

  

 

子组件:

<template>
    <p>我在子组件</p>
</template>
<script>
export default {
    data() {
        return {}
    },
    methods: {
        myAlert(val){
            alert(val);
            this.return(‘我是子组件返回给父组件的内容‘)//调用下面return方法
        },
        //使用 this.$emit 返回给父级组件内容
        return(data) {
          this.$emit(‘Event_s‘,data);//Event_s 为父级组件用v-on声明的名称
        },
    },
}
</script>

  

 

vue子父之间传值方式

原文:https://www.cnblogs.com/webljl/p/13948377.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!