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 相关文章推荐
许愿墙中用到的函数
Oct 07 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
Nov 07 Javascript
jQuery渐变发光导航菜单的实例代码
Mar 27 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
Oct 15 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
Oct 24 Javascript
用javascript读取xml文件读取节点数据
Aug 12 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
jquery ajax 如何向jsp提交表单数据
Aug 23 Javascript
js实现3D图片展示效果
Mar 09 Javascript
React Native 图片查看组件的方法
Mar 01 Javascript
javascript使用substring实现的展开与收缩文字功能示例
Jun 17 Javascript
element中el-container容器与div布局区分详解
May 13 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
怎样辨别一杯好咖啡
2021/03/03 新手入门
php的XML文件解释类应用实例
2014/09/22 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
基于jQuery实现多标签页切换的效果(web前端开发)
2016/07/24 Javascript
利用JS实现数字增长
2016/07/28 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
Python lxml模块安装教程
2015/06/02 Python
python导入时小括号大作用
2017/01/10 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
详解python运行三种方式
2019/05/13 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
PyTorch预训练的实现
2019/09/18 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
加多宝凉茶广告词
2014/03/18 职场文书
小学社会实践活动总结
2014/07/03 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
外出考察学习心得体会
2016/01/18 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS