v-slot和slot、slot-scope之间相互替换实例


Posted in Javascript onSeptember 04, 2020

如果组件文档里面用的是v-slot,而你用的是vue2.6之前的版本,则需要替换v-slot:所以有两种替换方式,注意看两块v-slot有啥不同,你就知道你该怎么用slot-scope和slot来替换文档中的v-slot了

v-slot使用方式1:

<template v-slot:operate="{ row }"><template>

则可替换为:

<template slot="operate" slot-scope="{ row }"></template>

v-slot使用方式2:

<template v-slot="{ row }"><template>

则可替换为:

<template slot-scope="row"></template>

先记录后期再完善,赶项目去了

补充知识:V-for and slot-scoped报错问题

此场景是为了用v-for动态渲染表格的slot

可能会这么写

<a-table>
 <span v-for="(item, index) in header" :key="index" :slot="item.dataIndex" slot-scope="text" >
  {{ text }}
 </span>
</a-table>

但是这样子会报错,因为v-for和slot-scope在同一级

Ambiguous combined usage of slot-scope and v-for on (v-for takes higher priority). Use a wrapper < template> for the scoped slot to make it clearer.

提示在外边包一层< template>,于是你可能改成下面这样,但是也会报错

<a-table>
 <template v-for="(item, index) in header" :key="index">
 <span :slot="item.dataIndex" slot-scope="text" >
  {{ text }}
 </span>
 </template>
</a-table>
< template> cannot be keyed. Place the key on real elements instead.

提示< template>template不能写key, 即使没有这个错,表格数据也不会渲染出来,因为这一层没有slot,应该说slot应该是放最外面,同时把:key放里面

改成如下

<a-table>
 <template v-for="(item, index) in header" :slot="item.dataIndex" slot-scope="text">
 <span :key="index">
  {{ text }}
 </span>
 </template>
</a-table>

以上解决问题

有个slot没有渲染的问题

<template v-for="(slotname, idx) in ['status', 'sub_account_status']" :slot="slotname" slot-scope="text" >
  <span :key="idx">
  <a-tag v-if="text === '正常'" color="blue">{{ text }}</a-tag>
  <a-tag v-else color="red">{{ text }}</a-tag>
  </span>
 </template>
 <!-- 包名称、关联账号 -->
 <template v-for="(slotname, idx) in ['app_name', 'roles']" :slot="slotname" slot-scope="text" >
  <span :key="idx">
  <a-tooltip placement="top" >
  <template slot="title">
  <span v-for="(item, index) in text" :key="index">{{ item }}<br/></span>
  </template>
  <div class="tableHidden">
  <a-tag v-for="(item, index) in text" :key="index">{{ item }} </a-tag>
  </div>
  </a-tooltip>
  </span>
 </template>

好像是因为2个v-for="(slotname, idx)"里的slotname名字一样了,对的,就是取的临时变量名,修改成不一样的就好了,神奇

<template v-for="(name, idx) in ['status', 'sub_account_status']" :slot="name" slot-scope="text" >
  // 上面那个name
  <span :key="idx">
  。。。
  </span>
 </template>
 <!-- 包名称、关联账号 -->
 <template v-for="(slotname, idx) in ['app_name', 'roles']" :slot="slotname" slot-scope="text" >
  <span :key="idx">
  。。。
  </a-tooltip>
  </span>
 </template>

以上这篇v-slot和slot、slot-scope之间相互替换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
复选框全选与全不选操作实现思路
Aug 18 Javascript
jquery等宽输出文字插件使用介绍
Sep 18 Javascript
jqGrid读取选择的多行的某个属性代码
May 18 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
BootStrap tooltip提示框使用小结
Oct 26 Javascript
在点击div中的p时,如何阻止事件冒泡
Feb 07 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
Vue.js上下滚动加载组件的实例代码
Jul 17 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
Vue.js的动态组件模板的实现
Nov 26 Javascript
小程序实现短信登录倒计时
Jul 12 Javascript
在JavaScript中如何使用宏详解
May 06 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 #Javascript
解决vue scoped scss 无效的问题
Sep 04 #Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 #Javascript
基于vue中的scoped坑点解说
Sep 04 #Javascript
VUE : vue-cli中去掉路由中的井号#操作
Sep 04 #Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 #Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 #Javascript
You might like
Drupal简体中文语言包安装教程
2014/09/27 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
Extjs中常用表单介绍与应用
2010/06/07 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
JS常用知识点整理
2017/01/21 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
python检测服务器是否正常
2014/02/16 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Python批量按比例缩小图片脚本分享
2015/05/21 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
个人简历自荐信
2013/12/05 职场文书
生物学学生自我评价
2014/01/17 职场文书
村长贪污检举信
2014/04/04 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
教师党员自我评价2015
2015/03/04 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
民事调解书范文
2015/05/20 职场文书
Redis可视化客户端小结
2021/06/10 Redis