微信小程序开发常见warnings警告解决方案

在小程序开发过程中,只要稍不注意代码细节,就会出现很多 warnings 警告,虽然在对小程序的运行并没有什么影响,但是作为一名严谨的程序猿,是不允许它们存在的。
下面我将从我的实际项目开发过程中碰到的warnings 问题进行分析处理。

Warning 1: Some selectors are not allowed in component wxss, including tag name selectors, ID selectors, and attribute selectors。

在这里插入图片描述

  • 首先,看一下这个警告的内容:组件wxss中不允许使用某些选择器,包括标签名选择器、ID选择器和属性选择器。

  • 上面这个问题的出现,主要是因为我们没有仔细阅读微信小程序的官方文档,请看 小程序·自定义组件和样式
    在这里插入图片描述

  • 解决方案:

    • 上面文档中第一条就已经说明了,组件和引用组件的页面不能使用id选择器(#a)、属性选择器([a])和标签名选择器(button),请改用class选择器。
    • 那么我们只需要将自定义组件内不符合规范要求的选择器改为class 选择器即可。

Warning 2: [/pageframe/pages/index/index] Do not set same key “[object Object]” in wx:key.

在这里插入图片描述
原代码:

 <block wx:for="{{list}}" wx:key="*this">
  • 原因:错误的把对象数据指定给了 wx:key
  • 解决方案:
    • 修改wx:key的值即可解决,代码如下:
 <block wx:for="{{list}}" wx:key="index">

在这里插入图片描述


Warning 3: Now you can provide attr wx:key for a wx:for to improve performance.

  • 看了上面那个 wx:key 的警告问题,再来看一个这个警告。
  • 可以看出,该警告只是一个关于性能优化方面的提示。是不会影响程序运行的。
  • 解决方案:只需要在 wx:for 后面添加 wx:key="index" 可消除警告。
<view wx:for="{{list}}" wx:key="index">{{item.text}}</view>

Warning 4: Setting data field “platform” to undefined is invalid.

在这里插入图片描述

  • 问题:将数据字段“xxx”设置为未定义无效。
  • 原因:查看该字段所在页面的位置,发现在进行setData 时,没有取到值来进行更新,然后就会将undefined给这个字段,此时默认字段就会变成undefined,才会出现这个警告。
  • 因为这个字段在页面中并没有用到,后面就废弃了,所以并没有报错,只是发起警告,如果使用该字段的话,就会报错。
  • 没有取到值的原因有很多,我这个没有取到的原因是对应的变量找不到,因为我改过原来取变量的层级,所以才会导致找不到这条数据,所以大家写代码的时候一定要认真。

Warning 5: 工具未校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书。

在这里插入图片描述

  • 出现这个警告的问题的原因是因为我们在开发过程中由于没有在后台配置合法域名,无法直接访问https接口,但是我们又需要其他接口数据的调试。所以我们会勾选 “详情” => “本地设置” => “不校验合法域名、web-view、TLS版本以及HTTPS证书”才能进行接口的访问,所以才会导致出现该警告。只要我们配置好相关的合法域名,将该选项勾选掉,就不会提示该警告了。

  • 涉及到的相关内容可以看一下官网:小程序·网络这里讲解的很明白了。
    在这里插入图片描述


以上几个 warnings 基本上就是我在项目完成时存在并且解决掉的,感觉这几个警告比较经典,就写下来跟大家分享一下,希望能够对大家有所帮助。欢迎各位点赞讨论。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值