vue slot与传参实例代码讲解


Posted in Javascript onApril 28, 2019

插槽分为默认插槽和具名插槽:

默认插槽: 

//父组件
<div>
  <h3>父组件</h3>
  <testChild>
   <div>默认插槽</div>
  </testChild>
</div>

//子组件
<div>
 <h4>子组件</h4>
 <slot></slot>
</div>

vue slot与传参实例代码讲解

具名插槽:

  注意:具名插槽需要包裹在  template  标签中,否则会报错

//父组件
<div>
  <h3>父组件</h3>
  <testChild>
   <template v-slot:test>//v-slot: + 插槽名
    <ul>
     <li v-for="item in list">{{item.name}}</li>
    </ul>
   </template>
  </testChild>
 </div>
//子组件
 <div>
  <h4>子组件</h4>
  <slot name="test"></slot> //name="插槽名"
 </div>

vue slot与传参实例代码讲解

子组件向父组件传参:

//父组件 
 <div>
  <h3>父组件</h3>
  <testChild>
   <template v-slot:test="data">//具名插槽,v-slot: +插槽名+ ="自定义数据名",子组件所传参数都是其属性
    <ul>
     <li v-for="item in data.list2">{{item.name}}</li>
    </ul>
   </template>
   <template v-slot="dataDefalut">//默认插槽
    {{dataDefalut.sName}}
   </template>
  </testChild>
 </div>

//子组件
<template>
 <div>
  <h4>子组件</h4>
  <slot name="test" :list2="list2"></slot>
  <slot :sName="name"></slot>
 </div>
</template>
<script>
 export default {
  name: "testChild",
  data(){
   return {
    list2:[
     {name:'ccc'},
     {name:'ddd'}
    ],
    name:'name'
   }
  }
 }
</script>

结果:

vue slot与传参实例代码讲解

补充:vue 利用slot向父组件传值

闲话不多说,上代码

子组件,里面有slot插槽,并在slot上绑定了text值

<template>
 <div @click="$emit('change',checked+1)">
  <slot name="icon" :text="text"></slot>
 </div>
</template>
<script>
 export default{
  data(){
   return {
    text:"我是子组件"
   }
  },
  props:["checked"],
  model:{
   prop: 'checked',
   event: 'change'
  }
 }
</script>

父组件通过slot-scope就可以拿到子组件slot上绑定的值,并且2.5.0版本可以用于任意元素上

<template>
 <div id="app">
  <img src="./assets/logo.png">
  <!--<router-view/>-->
  <car v-model="index">
   <div slot="icon" slot-scope="props">
    {{props.text}}
   </div>
  </car>
 </div>
</template>

这样,就可以拿到子组件里面的text值。

总结

以上所述是小编给大家介绍的vue slot与传参实例代码讲解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
js setattribute批量设置css样式
Nov 26 Javascript
JQuery 中几个类选择器的简单使用介绍
Mar 14 Javascript
使用Java实现简单的server/client回显功能的方法介绍
May 03 Javascript
Jquery搜索父元素操作方法
Feb 10 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
Aug 03 Javascript
jquery 判断是否支持Placeholder属性的方法
Feb 07 Javascript
提高JavaScript执行效率的23个实用技巧
Mar 01 Javascript
新手vue构建单页面应用实例代码
Sep 18 Javascript
在vscode中统一vue编码风格的方法
Feb 22 Javascript
js如何找出字符串中的最长回文串
Jun 04 Javascript
node.js实现简单的压缩/解压缩功能示例
Nov 05 Javascript
js中Function引用类型常见有用的方法和属性详解
Dec 11 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
Apr 28 #Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 #jQuery
vue项目中在外部js文件中直接调用vue实例的方法比如说this
Apr 28 #Javascript
微信小程序--特定区域滚动到顶部时固定的方法
Apr 28 #Javascript
详解vue更改头像功能实现
Apr 28 #Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 #Javascript
js+html5 canvas实现ps钢笔抠图
Apr 28 #Javascript
You might like
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
React Hooks的深入理解与使用
2018/11/12 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
Python程序设计入门(3)数组的使用
2014/06/16 Python
python分割文件的常用方法
2014/11/01 Python
Python访问MySQL封装的常用类实例
2014/11/11 Python
wxPython的安装与使用教程
2018/08/31 Python
python模糊图片过滤的方法
2018/12/14 Python
Python3爬楼梯算法示例
2019/03/04 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
教育科研先进个人材料
2014/01/26 职场文书
产品质量保证书
2014/04/29 职场文书
图书馆标语
2014/06/19 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
安全教育主题班会总结
2015/08/14 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL