微信小程序toast组件是一个消息提示框。比如当文章数已经加载完,用户点击加载更多,js判断文章数已经加载完毕,然后弹出toast组件提醒用户没有文章了。效果如下图所示:代码实现index.wxml1//点击加载更多,执行js中的loadMore函数2加载更多34//hidden接收toastHiddenjs传递的变量值,为true,toast隐藏;false,toast显示5没有更多文章文件路径:pages/index/index.wxmlindex.js1Page((){9varthat=this10if("所有数据项加载完成后"){11//如果if条件为真,则设置toastHidden的值为false,此时toast组件显示12that.setData({toastHidden:false})13}14},1516//该函数再次设置toastHidden值为true,此时toast组件再次隐藏17toastChange:function(){18this.setData({toastHidden:true})19}20})文件路径:pages/index/index.jstoastchange函数在哪里执行?在上面的动态效果图中可以看到,当所有文章加载完成后,toast组件弹出提示,几秒后消失。js中的toastchange函数是让toast组件再次消失。但是代码看不到toastchange函数是在哪里调用的。这就需要先了解toast组件的文档。从文档中得知,bindchange事件的触发条件要求hidden的值为false。toastchange函数绑定了bindchange事件,所以当hidden为false时执行toastchange函数。这里我们回头看看js中hidden的值设置为false的地方。代码分析Step1:toast组件接收js传过来的toastHidden(true)初值,此时toast隐藏。Step2:js程序判断文章数加载完成后,设置toastHidden值为false,此时显示toast。Step3:当hidden收到false时,触发bindchange事件,执行coastchange函数(coastchange执行前会有延迟(duration),默认1500毫秒)。函数中将toastHidden的值设置为true,再次隐藏toast组件。