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 相关文章推荐
JavaScript监测ActiveX控件是否已经安装过的代码
Sep 02 Javascript
jquery 全局AJAX事件使用代码
Nov 05 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
Oct 17 Javascript
javascript实现微信分享
Dec 23 Javascript
jQuery中的一些常见方法小结(推荐)
Jun 13 Javascript
js中遍历Map对象的方法
Jul 27 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
Aug 02 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
vscode 插件开发 + vue的操作方法
Jun 05 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
Jul 23 Javascript
js实现可爱的气泡特效
Sep 05 Javascript
聊聊JS ES6中的解构
Apr 29 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
2019十大人气国漫
2020/03/13 国漫
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
php下Memcached入门实例解析
2015/01/05 PHP
详解php中反射的应用
2016/03/15 PHP
javascript 框架小结 个人工作经验
2009/06/13 Javascript
JS继承 笔记
2011/07/13 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
Python实现的一个简单LRU cache
2014/09/26 Python
python版简单工厂模式
2017/10/16 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
使用python实现knn算法
2017/12/20 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
python plotly画柱状图代码实例
2019/12/13 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
python函数超时自动退出的实操方法
2020/12/28 Python
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
教育系毕业生中文求职信范文
2013/10/06 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
Python函数中apply、map、applymap的区别
2021/11/27 Python
Java 数组的使用
2022/05/11 Java/Android