小程序自义定tabbar切换图标bug

自义定tabbar是直接摸的官方文件

然而在测试时tab页面切换没问题,图标切换却要点击两次才能有选中状态

各种对比之后发现错误出在tab页的js的Components和Page,官方文件里tab页使用了Components(自义定构造器),而我使用的是Page,替换之后就没bug了(虽然还是不知道原理)

要注意的是Components的普通方法写在methods里,tab方法写在pageLifetimes里

Components的详细介绍参考这个:

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Component.html

8.9更新~

https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/component.html

小程序的页面也可以视为自定义组件。因而,页面也可以使用 Component 构造器构造,拥有与普通组件一样的定义段与实例方法。但此时要求对应 json 文件中包含 usingComponents 定义段。

此时,组件的属性可以用于接收页面的参数,如访问页面 /pages/index/index?paramA=123&paramB=xyz ,如果声明有属性 paramAparamB ,则它们会被赋值为 123xyz

页面的生命周期方法(即 on 开头的方法),应写在 methods 定义段中。

这里写着onload方法应该放在metions里,尝试后发现果然有效XD

使用 Component 构造器来构造页面的一个好处是可以使用 behaviors 来提取所有页面中公用的代码段。

例如,在所有页面被创建和销毁时都要执行同一段代码,就可以把这段代码提取到 behaviors 中。