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中toggleClass()方法用法实例
Jan 05 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
Dec 16 Javascript
Node.js引入UIBootstrap的方法示例
May 11 Javascript
Vue动态组件与异步组件实例详解
Feb 23 Javascript
详解微信小程序-canvas绘制文字实现自动换行
Apr 26 Javascript
微信小程序非跳转式组件授权登录的方法示例
May 22 Javascript
webpack4 SplitChunks实现代码分隔详解
May 23 Javascript
微信小程序图片加载失败时替换为默认图片的方法
Dec 09 Javascript
原生JS实现萤火虫效果
Mar 07 Javascript
JS JQuery获取data-*属性值方法解析
Sep 01 jQuery
Vant 在vue-cli 4.x中按需加载操作
Nov 05 Javascript
手把手教你如何编译打包video.js
Dec 09 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设计模式 Observer(观察者模式)
2011/06/26 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
php stream_get_meta_data返回值
2013/09/29 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
土木工程专业个人求职信
2013/12/30 职场文书
网络事业创业计划书范文
2014/01/09 职场文书
市场部规章制度
2014/01/24 职场文书
《将心比心》教学反思
2014/04/08 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
python中 Flask Web 表单的使用方法
2022/05/20 Python