Vue作用域插槽实现方法及作用详解


Posted in Javascript onJuly 08, 2020

默认插槽和具名插槽的概念比较好理解,这里主要以官方文档的案例来讲解一下作用域插槽。

首先是有一个currentUser的组件:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <current-user>
      {{ user.firstName }}
    </current-user>
  </div>
  <script src="vue.min.js"></script>
  <script>
    Vue.component('currentUser', {
      template: `
        <span>
          <slot>{{ user.lastName }}</slot>
        </span>
      `,
      data() {
        return {
          user: {
            firstName: 'w',
            lastName: 'ts'
          }
        }
      }
    })

    new Vue({
      el: '#app'
    })
  </script>
</body>
</html>

然而该页面无法正常工作,因为只有currentUser可以访问到user,出错的地方在这里:

Vue作用域插槽实现方法及作用详解

然后,引入一个插槽prop:

<span>
  <slot :user="user">
    {{ user.lastName }}
  </slot>
</span>

接着,需要给v-slot带一个值来定义我们提供的插槽 prop 的名字:

<current-user>
  <template v-slot="wts">
    {{ wts.user.firstName }}
  </template>
</current-user>

简单的讲作用域插槽就是让插槽内容能够访问子组件中才有的数据,修改后便可以正常工作了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery插件 tabBox实现代码
Feb 09 Javascript
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
May 02 Javascript
ScrollDown的基本操作示例
Jun 09 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 Javascript
parentElement,srcElement的使用小结
Jan 13 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
JavaScript构建自己的对象示例
Nov 29 Javascript
Express框架之connect-flash详解
May 31 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
Mar 21 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
Aug 23 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
js实现星星打分效果
Jul 05 Javascript
Vue Render函数创建DOM节点代码实例
Jul 08 #Javascript
实例讲解React 组件生命周期
Jul 08 #Javascript
详细分析React 表单与事件
Jul 08 #Javascript
详解JavaScript之ES5的继承
Jul 08 #Javascript
jQuery使用jsonp实现百度搜索的示例代码
Jul 08 #jQuery
微信小程序拖拽排序列表的示例代码
Jul 08 #Javascript
基于javascript canvas实现五子棋游戏
Jul 08 #Javascript
You might like
如何使用PHP获取网络上文件
2006/10/09 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
php微信开发之谷歌测距
2018/06/14 PHP
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
jQuery动画效果图片轮播特效
2016/01/12 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
JS实现的RC4加密算法示例
2018/08/16 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python的id()函数解密过程
2012/12/25 Python
Python中apply函数的用法实例教程
2014/07/31 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
打架检讨书2000字
2014/02/22 职场文书
解除财产保全担保书
2014/05/20 职场文书
简单的辞职信模板
2015/05/12 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书
感恩教师节主题班会
2015/08/12 职场文书
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python
室外天线与收音机天线杆接合方法
2022/04/05 无线电
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技