作用于插槽语法

      了解:

              1、父组 想把某些数据显示在 子组:父亲给子组件通信

              2、父组 想控制子组件某些 部分HTML结构:插槽

              3、父组 (子组件内部有些初始化数据),既 要控制结构,又要显示子组件内数据 作用域插槽(把子组件数据反出来)

定义子组件:

<template>
  <div class="shi">
    <h1>诗的题目</h1>
    <div class="box">
      <!-- 1. 子组件 slot 绑定属性名="变量值"  把绑定数据 暴露给了父级-->
      <slot :obj="obj">
        <p>{{obj.msg1}}</p>
        <p>{{obj.msg1}}</p>
        <p>{{obj.msg1}}</p>
        <p>{{obj.msg1}}</p>
      </slot>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      obj: {
        msg1: "子组件的默认一个信息1",
        msg2: "子组件的默认一个信息2",
      },
    };
  },
};
</script>

<style scoped>
.box {
  width: 400px;
  box-shadow: 0 0 10px #000;
}
</style>

定义父组件:

<template>
  <div>
    <h1 v-bgc>5 插槽 作用域插槽</h1>
    <h4 v-bgc>

    </h4>
    <!-- 2.父组件:子组件内部 写入要替换HTML结构 v-slot="scope"  scope变量(自己起名字):把子组件  {row:obj}-->
    <one>
      <template #default="getSon">
        <h3>{{getSon.obj.msg2}}</h3>
        <h3>{{getSon.obj.msg2}}</h3>
        <h3>{{getSon.obj.msg2}}</h3>
        <h3>{{getSon.obj.msg2}}</h3>
      </template>
    </one>
  </div>
</template>

<script>
import one from "../components/05/one.vue";


export default {
  components: {
    one,
  },
};
</script>

<style>
</style>

// 发现:
//     这几个组件,大概HTML结构是一样,但是只有某些个部分HTML不一样
//     把该组件复制了一份!
//     需要一个知识:解决大部分结构一样,不一样地方我们去通过父级组件控制它!叫插槽!

// 父级--->子组件
//    1.传入数据:多个子组件HTML  样式 交互行为都是一样,就是显示数据不一样!
//    2.父组件  通过this.$refs 获取子组件的 实例化对象; 使用属性和方法;
//    3,子组件某些地方HTML不一样,用插槽语法,父亲传入不同HTML结构!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值