Vue组件之间的传值

一、子组件获取父组件的值、标签

子组件:HeadTop


<!--定义项目的公共头部
  props:组件之间传递的是数据
  slot:组件之间传递的是标签
-->
<template>

  <header class="header">
    <!--
      1. 插槽是父组件与子组件的通讯方式,子组件中的slot可以显示父组件传递给子组件的内容
      2. 父组件通过指定slot的name属性可以指定插入到哪个插槽里面!
       -->
    <slot name="left"></slot>

    <span class="header_title">
      <span class="header_title_text ellipsis">{{title}}</span>
    </span>

    <slot name="right"></slot>

  </header>

</template>

<script>

export default {

  //子组件接收父组件传递过来的数据
  props: {
    title: String
  }
}

</script>

<style lang="stylus" rel="stylesheet/stylus">
  样式部分省略了,主要是看父向子传值
</style>

 父组件:

  
<template>
<!-- :title="msg" 属性绑定的方式向子组件传值
     注意:msg是在vue对象data里面定义的
-->
<HeaderTop :title="msg">
      <!--  要使用slot="left"指定插入哪个插槽,这里面的left是和组件slot的name属性值一致的! -->
      <router-link class="header_search" slot="left" to="/search"></router-link>
    </HeaderTop>
</template>

【提示】 我们可以看到父向子传值用的是props,传标签用的是slot

 

二、子组件调用父组件的方法

父组件

子组件:

【注意】this.$emit('func')实现子组件调用父组件的show方法

 

三、父组件调用子组件的属性、方法

子组件模板任意,父组件在引用子模板时,添加ref属性,如下:

父组件的methods:

this.$refs.mylogin 这样的方式父组件获取子组件的引用

this.$refs.mylogin.方法名   父组件调用子组件的方法

this.$refs.mylogin.属性  父组件调用子组件的属性

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值