vue2.0子组件调用父组件的数据


实例:child.vue文件,调用parent.vue的数据

parent.vue如下:

<template>  
  <div>  
    <div class="parent">  
      <p>父组件</p>  
      <p v-text="userInfo.userName"></p>  
      <router-link to='/parent/child'></router-link>
      <router-view :message="userInfo"></router-view>  //这里传参数userInfo给子组件,子组件用message调用
    </div>  
  </div>  
</template> 

<script>  
  export default {  
    data () {  
      return {  
        userInfo: {  
            userName: '阿水12344',  
            age: 12  
        }  
      }  
    }  
  }  
</script>  

child.vue如下:

<template>  
  <div class="child">  
    <p>子组件</p>  
    <p v-text="message.age"></p>  
  </div>  
</template>  

<script>  
  export default {  
     props: ['message']  // 子组件获取父组件的数据
  }  
</script>  

重点:

父组件:
 1. <router-view :message="userInfo"></router-view> 

子组件:
 1. <p v-text="message.userName"></p>   
 2. props: ['message']

补充:

 1. 当message改名为user-info(带“-”的形式)时,子组件调用“userInfo“驼峰法 

 <router-view :user-info="userInfo"></router-view> 
 <p v-text="userInfo.userName"></p>     
 props: ['userInfo']

 2. 子组件获取时可设置类型,如:设置为布尔型

 props: {
    active: {
        type: Boolean
    }
 }

组件间数据通信:使用自定义函数

<template>
    <div v-show=‘active‘>看得见</div>
    <outdiv @navActive="handleNavActive"></outdiv> // 自定义navActive,在outdiv组件中调用
</template>

<script>
    export default {
        data () {
            return active
        },
        methods: {
            handleNavActive (status) { // 自定义函数,回调函数,获得otrdiv返回值
                if (status) {this.active = ture}
                else {this.active = false}
            }
        }
    }
</script>

outdiv组件的定义:

<template>
    <button @click="handleNavFlod"></button>
</template>

<script>
    export default {
        data () {
            return {
                value
            }
        },
        methods: {
            handleNavFlod () {
                this.value = !this.value
                if (this.value) {this.$emit('navActive',true)}
                else {this.$emit('navActive',false)}  // 调用自定义函数
            }
        }
    }
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值