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 相关文章推荐
利用XMLHTTP传递参数在另一页面执行并刷新本页
Oct 26 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
Mar 04 Javascript
JavaScript DOM 对象深入了解
Jul 20 Javascript
详解js中==与===的区别
Jan 08 Javascript
用jQuery实现可输入多选下拉组合框实例代码
Jan 18 Javascript
javascript设计模式之中介者模式学习笔记
Feb 15 Javascript
js实现按座位号抽奖
Apr 05 Javascript
js,jq,css多方面实现简易下拉菜单功能
May 13 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
Apr 01 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
May 14 Javascript
vue移动端使用canvas签名的实现
Jan 15 Javascript
谈一谈vue请求数据放在created好还是mounted里好
Jul 27 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
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
php缓存技术详细总结
2013/08/07 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
ReactNative Image组件使用详解
2017/08/07 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
js数组去重的方法总结
2019/01/18 Javascript
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
JS实现百度搜索框
2021/02/25 Javascript
python strip()函数 介绍
2013/05/24 Python
python3音乐播放器简单实现代码
2020/04/20 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
Python try except异常捕获机制原理解析
2020/04/18 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
公司周年庆活动方案
2014/08/25 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
先进班集体申报材料
2014/12/26 职场文书
博士生专家推荐信
2015/03/25 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL