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

Vue里父子组间的通讯

时间:2018-05-01 23:57:50      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:style   rip   this   形参   else   ESS   com   ike   like   

 

父组件代码

<template>
  <div>
    <child @child-say="listenToBoy" :mes=count></child>
    <p>Do you like me?{{this.word}}</p>
  </div>
</template>
<script>
  import child from ‘@/components/child.vue‘
  export default {
    name: "parent",
    data() {
      return {
        count: 0,
        word: ‘‘
      };
    },
    components: {
      child
    },
    methods:{
        listenToBoy(text){
            if (!this.word){
                this.word = text
                console.log(‘111‘)
            }else{
                this.word = ‘‘
                console.log(‘else‘)
            }
        }
    }
  }

</script>
<style lang="css" scoped>
</style>

  
子组件代码

<template>
    <div>
        <p>{{message}}</p>
        <button @click="add">add</button>
        <button @click="onClickMe">Click</button>
    </div>
</template>
<script>
export default {
    name: "child",
    data () {
        return {
            message: this.mes,
            text: ‘I love you‘
        };
    },
    props: [‘mes‘],
    methods: {
        add (){
            this.message ++
        },
        onClickMe(){
            this.$emit(‘child-say‘, this.text)
        }
    }
    }
</script>
<style lang="css" scoped>
</style>

  

1.实现了将count的值通过props将父组件的值给子组件,用法:在父组件中的子组件标签绑定某个属性将要传的值跟在其后(如:mes=count,给子组件识别用的)传递,子组件用props:[‘mes‘]接收,子组件调用用this.mes

2.子组件向父组件传值this.$emit(),用法:父组件监听某个属性(如@child-say=‘listenToBoy()‘)的方法,父组件方法中的形参来接收子组件传过来的值(如listenToBoy(text)),

子组件在某处触发this.$emit(‘child-say‘,this.text)

 

Vue里父子组间的通讯

标签:style   rip   this   形参   else   ESS   com   ike   like   

原文地址:https://www.cnblogs.com/jack-liu6/p/8977009.html

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