Vue插槽(三)作用域

2021-03-10  本文已影响0人  fanren

为什么要使用作用域

<template>
  <div>
    <div>名字: {{ user.name }}</div>
    <slot>性别: {{ user.sex }}</slot>
  </div>
</template>

<script>
export default {
  name: "child",
  data() {
    return {
      user: {
        name: "张三",
        sex: "男",
        age: 33
      }
    };
  }
};
</script>
  <div class="hello">
    <child> 年龄:{{ user.age }} </child>
  </div>

在父组件内,不能使用子组件的数据;

使用作用域插槽

<template>
  <div>
    <div>名字: {{ user.name }}</div>
    <slot name="content" v-bind:user="user">性别: {{ user.sex }}</slot>
  </div>
</template>
<script>
export default {
  name: "child",
  data() {
    return {
      user: {
        name: "张三",
        sex: "男",
        age: 33
      }
    };
  }
};
</script>
  <div class="hello">
    <child>
      <template slot="content" slot-scope="slotProps">
        年龄:{{ slotProps.user.age }}
      </template>
    </child>
  </div>
上一篇下一篇

猜你喜欢

热点阅读