vue中父组件向子组件传值,利用计算属性,传入的值只能是数值

一、问题出现的背景

业务中会经常遇到两种需要改变prop的情况

  • 一种是父组件传递初始值进来,子组件将它作为初始值保存起来,在自己的作用域下可以随意使用和修改。这种情况可以在组件data内,再声明一个数据,引用父组件的prop。
  • 另一种情况就是prop作为需要被转变的原始值穿入。这种情况可以利用计算机属性。

二、问题出现的情况

我这次遇见的问题是在第二种情况下,来我们一起看看当时的情况(如下图所示):
在这里插入图片描述
当时我通过prop传入了一个color,color的值是red,然后就发生了下面的事故(如下图所示),然后就开始了面向百度编程,后来还是没有找到类似的案件,后来既然red ,不行那就试试16进制的颜色,结果还是不行。后来我就把16进制的转成10进制的,哎这次貌似可以了(激动的心,颤抖的手),后来随便输入几个数字也都可以传进来,就是非数字的就会出现下面的错误。
在这里插入图片描述
点开前端页面,发现输入的数字都被转换成rgb的形式了,如下图所示:
在这里插入图片描述
试了几个16进制转成10进制的颜色,实际上是有问题的,不知到vue内部是怎么转换成rgb的格式的,所以你输入的颜色和你得到的结果是不相符的。

三、解决的办法

对于这个问题的解决办法,我的思路是这样的,既然非数字类型的数据传不进来,那我们就先给传数值型的数据,等接收到之后,再转为16进制的,这个时候渲染的时候转成的rgb格式才是正确的。(上代码)

<!DOCTYPE html>

<head>
    <meta charset="
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值