位置: IT常识 - 正文

【Vue】踩坑日记:Scoped下动画无效,曾经以为百利而无一害的Scoped,也有自己的限制

编辑:rootadmin
【Vue】踩坑日记:Scoped下动画无效,曾经以为百利而无一害的Scoped,也有自己的限制 文章目录问题描述解决过程玩味Vue Scoped知识点解决方法问题描述

推荐整理分享【Vue】踩坑日记:Scoped下动画无效,曾经以为百利而无一害的Scoped,也有自己的限制,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

​ 在开发的前期,我清晰的记得使用动画完成了图片放大的效果,当时还写了一篇博文 http://t.csdn.cn/lA9aq上了热榜。可是过了几天之后,这个效果居然“失效了”,我百思不得其解。一度怀疑自己的代码写的有问题,在CSDN等各大博客平台上查找了很久也没找到解决方案。在偶然的尝试下,我发现是scoped影响了动画的效果。真是欲哭无泪,打死我都想不到是scoped的原因。从学习vue的时候就习惯性的在style后面加上scoped,为的是不影响其他组件。曾几何时,我一度以为scoped有百利而无一害。痛定思痛,写下这篇博客,为的是警醒大家不要犯和我一样的错误,同时也提醒自己,对待一个知识点,一定要学透了,不然以后必受不熟悉其的害处。

​ 如果您的时间很宝贵,您可以直接去看解决方法;如果您的时间闲暇,不妨听我掰扯掰扯,所谓前车之"覆",后车之师。

解决过程

这里我看到动画的效果被加上去了,但是动画不生效。一度认为是自己动画代码写错了

悬浮的时候效果也加上了,但是不起作用

尝试删掉一些代码试试,结果变成了沿着X、Y只往一个方向拓展,类似于宽高以左上角为起点放大

想到了style.cssText会覆盖以前的样式,就把悬浮之前的样式也加了上去,结果回到解放前,又失效了。

试一试使用过渡,过渡是可以的(★)

这时候是可以的

然后又改成动画,结果还是不可以。

神来之笔,新建了一个页面,莫名其妙的删掉了scoped,结果就可以了

【Vue】踩坑日记:Scoped下动画无效,曾经以为百利而无一害的Scoped,也有自己的限制

动画可以了

怀疑可能是浏览器的原因,换了个浏览器,清空了一下缓存,结果还是可以。

此时的HomeTwo.vue 文件也莫名其妙的可以了(写了scoped),这时候我反应过来,是因为Test.vue 里面的样式没有写scoped,而两者之间动画的名字是一样的,所以Test.vue 影响了 HomeTwo.vue。当我改变scoped里面动画的名字,使之和Test.vue里面的动画名不一样的时候,HomeTwo的动画效果 也随之失效了

为了更清晰的对比,让加了scoped的放大效果为1.5倍,不加scoped的放大效果为3倍

不加scoped

加了scoped

可以很清晰的看到,二者的放大效果都是3倍,这也就说明了不加scoped的影响了加scoped

玩味

我试了试两者都开启全局模式,动画的名字一致,但是放大的效果不同。结果是

二者的谁影响到谁是不确定的

但是刷新之后,Test.vue总是能够影响HomeTwo.vue

这个原因是什么到现在还没找到。

Vue Scoped知识点

想了解更多的可以去看官网 https://vue-loader.vuejs.org/zh/guide/scoped-css.html

当 <style> 标签有 scoped 属性时,它的 CSS 只作用于当前组件中的元素。这类似于 Shadow DOM 中的样式封装。它有一些注意事项,但不需要任何 polyfill。它通过使用 PostCSS 来实现以下转换:

<style scoped>.example { color: red;}</style><template> <div class="example">hi</div></template>

转换结果:

<style>.example[data-v-f3f3eg9] { color: red;}</style><template> <div class="example" data-v-f3f3eg9>hi</div></template>

看了一下心凉大佬的博客,这里是给了组件一个唯一的标识,使得他的权重的增加了。

这里插入一件趣事:昨天晚上的时候,我错误的把转换结果当成了解决方法,照猫画虎,也在自己要操作的类上面加上了data-v-f3f3eg9,而且奇迹般的好了。今天再尝试的时候,又不可以了。昨天之所以成功,应是动画名字一致,受到了另一个动画的影响!

这时候我想过是不是可以用组件穿透的方式去解决,但又想了一下,我的样式是可以加上去的,真正的原因是动画在scoped条件下无效

解决方法不要使用动画,可以改成过渡,上面提到了过渡是有效果的。全局style和局部style混合使用,这里切记多个地方使用动画的时候,一定要动画的名不重复,否则会相互影响,如下图 不使用scoped(不建议)
本文链接地址:https://www.jiuchutong.com/zhishi/297642.html 转载请保留说明!

上一篇:逻辑回归(Logistic Regression)原理及其应用(逻辑回归模型)

下一篇:nodejs的安装与配置(nodejs的安装与配置mac)

  • 交所得税用计提吗
  • 小规模企业所得税会计分录怎么做
  • 新冠肺炎捐赠账务处理
  • 期末存货采用成本与可变现净值孰低法
  • 教育附加费税率怎么算
  • 国内增值税专用发票造假第一大案
  • 设备租赁费用
  • 外币借款业务的会计分录还款时利息
  • 票据贴现业务利润怎么算
  • 营改增前甲供材料如何纳税
  • 向境外支付特许权使用费免征增值税
  • 预付房租租金如何做账
  • 铁路运费印花税税率
  • 每月增值税怎么做账
  • 转让名额协议
  • 福利费不交个人所得税会怎么样
  • 小型微利企业预缴所得税税率
  • 企业所得税征收标准2023
  • 增值税发票委托公司开具
  • 营业外支出可以抵扣进项税吗
  • 营改增前的工程款现在怎么开票
  • 机构信用代码证是三证合一里的吗
  • 税控系统全额抵扣增值税申报
  • 税法递延纳税
  • 企业网银使用
  • 固定资产清理出售合同
  • 本年利润结转到利润分配是每月都结转还是年底结转
  • 辅助生产费用怎么归集
  • 销项税月底还是年底结0
  • 商家不给发票可以报警吗
  • 工程什么情况下可以索赔
  • 上年度少计提的税金及附加
  • windows11怎么打开设置
  • mac的分辨率怎么调
  • 苹果手机升级微信版本
  • 如何安装u盘的系统
  • 在win7系统中怎样卸载win10?
  • 情人节海报怎么画简单
  • 代付收款入账是什么意思
  • 销售汇总表格模板
  • 将款项汇往外地采购专用账户会计分录
  • 其他应付款的会计科目
  • 在建工程账务核算方法
  • 差旅费的会计分录怎么做
  • 企业会计准则存在的问题怎么写
  • 锡特f8
  • php面向对象的三大特性
  • win11更新71
  • 小规模纳税人进口增值税怎么处理
  • 公司项目支付的钱叫什么
  • 经营所得预缴申报收入总额
  • 财务报表年报应怎么做
  • 辞退补偿金的标准
  • 小型微利企业免税销售额是多少
  • 企业库存现金的限额是
  • 存货核算科目设置
  • 暂估入库成本处理
  • 外经证先开票还是异地预缴税率
  • 标准成本法计算公式图
  • 企业取得的土地使用权用于自行开发建造厂房
  • 大数据可以在等方面发挥作用
  • sqlserver 实现分组合并
  • MySQL5.6.31 winx64.zip 安装配置教程详解
  • FreeBSD中使用QUOTA(磁盘配额)来限制用户空间
  • windows 10 周年更新
  • shell 子函数
  • linux常用命令 cat
  • windows图标变化
  • 常见的错误方法
  • drawcalls2000多
  • 非常漂亮的英文怎么说
  • node.js怎么搭建服务器
  • [置顶]公主大人接下来是拷问时间31
  • shell编程怎么执行
  • android布局文件详解
  • python爬取新浪股票数据
  • 对税务机关的意见建议怎么写
  • 公司权责清单范围
  • 如果快递没有按时发货东西变质怎么办
  • 北京国税电子税务局网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设