子组件传到父组件

子组件传值改变父组件的值

自定义事件

1首先在父组件中定义一条数据

2 this.$emit("父级的自定义事件")

3 父组件中的 子组件接收自定义事件,绑定到父级的事件

4提醒一下,  父组键的数据要写在,父组件里,子组建的数据方法要写在子组件里

5 这是一个下拉框组件

Vue.component("costom-list", {
            methods:{
                selectValueHandle(item){   //子组件中定义事件
                    this.$emit("receive",item);
                }
            },
            props:["list"], //子组件接收数据
            template:`<ul class="list">
                        <li v-for="item in list" @click="selectValueHandle(item)">{{item}}</li>
                        
                    </ul>`
    })

    var vm = new Vue({
        el: "#app",
        data: {
            list1:["杭州","荆州","鲁中"],
            list2:["2017-02-13","2017-76-23","2017-12-14"]
            
        },
        methods: {
            
        },
        computed: {

        },
        directives: {

        },
        components: {
            "costom-select": {
                data() {
                    return {
                        selectShow: false,
                        val:""// 父组件数据
                    }
                },
                methods:{
                    changeValue(value){ //被子组件触发的父组件事件
                        this.val=value; // 值被改变
                        this.selectShow=false; 
                    }
                },
                props: ["btnValue","list"],
                template: 
                        <section class="warp">
                            <div class="searchIpt clearFix">
                                <div class="clearFix">
                                    <input type="text" class="keyWord" 
                                             @click="selectShow=!selectShow"
                                             :value="val"
                                    />
                                    <input type="button" :value="btnValue">
                                    <span></span>
                                </div>
                                <costom-list 
                                    v-show="selectShow"
                                    :list="list"
                                    @receive="changeValue"  //接收 子组件的自定义事件
                                    ></costom-list>
                            </div>`
            }
        }
    })

 

转载于:https://my.oschina.net/u/3908253/blog/1845818

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值