首页 > 其他分享 >vue插槽使用

vue插槽使用

时间:2022-12-22 15:44:36浏览次数:48  
标签:vue 插槽 具名 默认 user 使用 组件

插槽的分类

插槽分为默认插槽、具名插槽、作用域插槽
需要注意的点是,使用作用域插槽需要搭配template使用

默认插槽

默认插槽使用最为简单:
父级

<template>
  <div>    
    <son>
      <div>我是默认插槽</div>
    </son>
  </div>
</template>

子级

<template>
  <div>
    <slot>我是子组件默认的</slot>
  </div>
<template>

展示:

具名插槽

具名插槽需要给插槽定义一个名字,然后父组件在使用的时候需要把名字对应,对应的名字插槽会展示在对应的位置,不论他在父组件的实际位置在哪里
父级

  <template>
  <div>    
    <HelloWorld>
      <div slot="footer">我是尾部插槽</div>
      <div slot="header">我是头部插槽</div>
    </HelloWorld>
  </div>
</template>

子级

  <template>
  <div>
    <slot name="header">
    </slot>
    <slot name="footer">
    </slot>
  </div>  
</template>

展示:

具名插槽

具名插槽的使用主要是让父组件能访问到子组件中的数据,注意在父组件中插槽的使用.
父级

<template>
  <div>    
    <HelloWorld>
      <template v-slot:user="test"> // user是对应的插槽名字,test是声明的变量名字,能用test去访问子组件中的变量
        {{ test.user.name }}
      </template>
    </HelloWorld>
  </div>
</template>

子级

  <template>
  <div>
    <slot name="user" :user="user"> // 第一个user是插槽的名字,第二个是表示父组件能使用的变量
      {{ user.sex }}
    </slot>
  </div>  
</template>
<script>
export default {
  data: () => {
    return {
      user: {
        name: 'ces',
        sex: '1'
      }
    }
  }
}
</script>

展示

标签:vue,插槽,具名,默认,user,使用,组件
From: https://www.cnblogs.com/taosifan/p/16998810.html

相关文章

  • DDL使用
    CREATEDATABASE语句用于创建新的数据库MYSQL中的COLLATE是什么?(文章有详细介绍)https://cloud.tencent.com/developer/article/1366841?fromSource=waituiSQL> CREA......
  • SVNKit使用相关工具类
    SVNKit操作SVN仓库导入依赖<dependency><groupId>org.tmatesoft.svnkit</groupId><artifactId>svnkit</artifactId><version>1.8.5</version><scope......
  • VUE3状态管理Pinia使用介绍
    vue3中推荐使用的状态管理工具:pinia,真的很好用官方文档,中文文档一、安装piniayarnaddpinia#或者使用npmnpminstallpinia二、src文件夹下新建store文件夹,并新建......
  • 使用errorPage属性指明出错后跳转的错误页面
    在Test.jsp中,page指令的errorPage属性指明了出错后跳转到"/ErrorPage/error.jsp",error.jsp页面代码如下:1<%@pagelanguage="java"import="java.util.*"pageEncoding......
  • 使用page指令的的isErrorPage属性显式声明页面为错误页面
    如果某一个jsp页面是作为系统的错误处理页面,那么建议将page指令的isErrorPage属性(默认为false)设置为"true"来显式声明这个Jsp页面是一个错误处理页面。例如:将error.jsp......
  • chocolatey安装和使用
    1.什么是ChocolateyChocolatey是一种软件管理解决方案,不同于您在Windows上体验过的任何解决方案。可以这样想-您使用一个小PowerShell创建一个软件部署包,然后您......
  • Vite + Vue 3 + electron 环境搭建
    第1步,建立一个新的vite项目yarncreatevite第2步,安装项目依赖yarnadd-Dconcurrentlycross-envelectronelectron-builderwait-on第3部,修改package.json......
  • Vue、angular等框架实现双向绑定的原理,核心机制是使用了Object.defineProperty
    <divid="name"></div>varobj={};Object.defineProperty(obj,"name",{set:newVal=>(document.querySelector("#name").innerHTML=newVal)});obj.name="修改后,内......
  • 使用OpenCV实现摄像头测距
    摄像头测距就是计算照片中的目标物体到相机的距离。可以使用相似三角形(trianglesimilarity)方法实现,或者使用更复杂但更准确的相机模型的内参来实现这个功能使用相似三角......
  • node.js创建WebSocket服务,并使用原生js ES6完成对WebSocket数据交互
     注意,前情提示:本代码基于《Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)》首先安装cnpminodejs-websocket在/api/demo/文件夹下面创建websocket.js  ......