Vue插槽的代码以及总结

本文介绍了如何在Vue应用中使用模板和slot特性,展示了一个TodoHeader组件如何通过slot接收并显示自定义标题和子标题。
摘要由CSDN通过智能技术生成

//  template:中写slot标签里面就是对应会被替换的内容,name属性值表示它的命名,后面的属性有点像父传子的写法,它可以将name后面的属性以及属性值存在上面template标签 #subtitle="scope",这个scope里面,相当于一个对象了,scope自己命名

//上面的template标签里面嵌套的内容就是新的内容了

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div id="app">
    App

    <todo-header>
      <template #default>
        <span><a href="#">子标题链接</a></span>
      </template>

      <template v-slot:title="scope">
        <span>{{ scope }}</span>
        <h3>{{ scope.title }}</h3>
      </template>

      <template #subtitle="scope">
        {{ scope.subtitle }}
        <h4>今日事, 今日毕!!!</h4>
      </template>
    </todo-header>
  </div>

  <script src="./lib/vue.global.js"></script>
  <script>
    const todoHeader = {
      template: `
        <div class="header">
          <slot name="title" title="待办事项列表" username="admin" password="123456">
            <div class="title">待办事项列表</div>
          </slot>
          <slot name="subtitle" subtitle="ToDoList...">
            <div class="subtitle">ToDoList...</div>
          </slot>
          
          <slot>
            <div>子标题的链接地址</div>
          </slot>
        </div>
      `,
    }

    const app = Vue.createApp({})
    app.component('todo-header', todoHeader)
    app.mount('#app')
  </script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值