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

vue 父子组件

时间:2018-07-31 13:43:00      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:ret   验证   ade   template   component   eth   exp   temp   app   

父子组件建立通信

我们可以为子组件的 props 指定验证规则。如果传入的数据不符合要求,Vue 会发出警告。这对于开发给他人使用的组件非常有用。

我们可以为组件的 prop 指定验证规则。如果传入的数据不符合要求,Vue 会发出警告。这对于开发给他人使用的组件非常有用。

父往子传递信息流程

流程:
1:在父组件先写上子组件的标签
例如,子组件:Appheader.vue
<Appheader num="10"></Appheader>
2:在子组件需要写验证方法 ----> props
   props:["num"],
3.在父组件显式
<Appheader num="10"></Appheader>

子往父组件传递信息流程

注意:需要自定义事件,使用this.$emit()触发这个自定义事件

父组件:

APP.vue(父)在注册子组件Counter时自定义两个事件(incre和decre),并在增加increment和decrement的方法,说道底就是,父方法创建方法让子组件调用改变
<template>
    <div>
        <Counter v-bind:num="num" v-on:incre="increment" v-on:decre="decrement"></Counter>
        <p>父:{{num}}</p>
    </div>
</template>

<script>
    import Counter from ./components/first
    export default {
        data(){
            return {
                //给父默认为10
                num:10
            }
        },
        components: {
            Counter
        },
        methods:{
            increment(){
                this.num++;
            },
            decrement(){
                this.num--;
            }
        }
    }

</script>

子组件:

//子组件使用$emit调用父组件(注意是事件名)
<template>
    <div>
        <button @click="increment">+</button>
        <button @click="decrement">-</button>
        <p><span>{{num}}</span></p>
    </div>
</template>

<script>
    export default {
        props: ["num"],
        data () {
            return {
                num: 0
            }
        },
        methods: {
            increment(){
                this.$emit(incre);
            },
            decrement(){
                this.$emit(decre);
            }
        }
    }
</script>

 

vue 父子组件

标签:ret   验证   ade   template   component   eth   exp   temp   app   

原文地址:https://www.cnblogs.com/jassin-du/p/9395006.html

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