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 相关文章推荐
IE和Firefox在JavaScript应用中的兼容性探讨
Apr 01 Javascript
JS实现可改变列宽的table实例
Jul 02 Javascript
了解了这些才能开始发挥jQuery的威力
Oct 10 Javascript
javascript表格的渲染组件
Jul 03 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
Jul 01 Javascript
微信小程序 scroll-view隐藏滚动条详解
Jan 16 Javascript
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
vue中v-model动态生成的实例详解
Oct 27 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 Javascript
elementUI select组件使用及注意事项详解
May 29 Javascript
微信小游戏中three.js离屏画布的示例代码
Oct 12 Javascript
jquery实现点击左右按钮切换图片
Jan 27 jQuery
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
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
PHP7 其他修改
2021/03/09 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
python获取代理IP的实例分享
2018/05/07 Python
python和shell获取文本内容的方法
2018/06/05 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
python单例设计模式实现解析
2020/01/07 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
C#面试问题
2016/07/29 面试题
优秀大学生推荐信范文
2013/11/28 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
教你打造完美的创业计划书
2014/01/06 职场文书
教育科研先进个人材料
2014/01/26 职场文书
十一酒店活动方案
2014/02/20 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
自我管理的活动方案
2014/08/25 职场文书
会计专业自荐信范文
2015/03/05 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
信息技术研修心得体会
2016/01/08 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
Python如何导出导入所有依赖包详解
2021/06/08 Python
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python
日本十大血腥动漫,那些被禁播的动漫盘点
2022/03/21 日漫