
微信版本升级后,打开微信,点击底部的“发现”这个菜单项,就会发现升级后的“发现”菜单里,增加了“小程序”这样一个功能。
2点击打开小程序后,可以看到有附近的小程序和我的小程序,附近的小程序是所在定位周边的小程序。
下面的小程序列表可以看到的是我们之前打开过的一些小程序,如果有自己觉得很好用的小程序就可以点击左上角,添加到我的小程序里面。
3微信小程序还有具有搜索功能,打开搜索页面可以输入想要找的小程序。
小程序button事件作用到地图上的方法如下:
1、新建一个页面demo13
2、打开demo13wxml 文件,删除里面原来的内容,写入以下代码:
<button>默认按钮</button>
保存,左侧小程序页面显示“默认按钮”
3、打开demo13wxml 文件,代码中加入type属性,如下:
<button type="primary"> primary 按钮</button> <button type="warn"> warn 按钮</button>
保存后,页面中出现绿色按钮(primary),红色按钮(warn)。
4、打开demo13wxml 文件,代码中加入plain属性,如下:
<button type="warn" plain> plain 按钮</button>保存后,可看到plain按钮是无背景色的。
5、打开demo13wxml 文件,type属性下,代码中再加入loading属性,如下:
<button type="primary" loading> loading 按钮</button>。
缓存就是类似数据库,全局变量就是所有页面都能用,这是两个东西,比如说新闻应用,首页的数据需要放到缓存里,然后下次访问首页的时候直接加载缓存的数据,然后在异步调用接口刷新数据,这样在进入首页的时候就不需要loading了,直接能看到数据,感觉就是秒开,用户体验更好一些,全局变量就是类似用户登录信息,登录之后设置成全局的,每个页面都可以使用,不然跳转后就需要每次都重新获取用户信息
注册开发者账号: >
自小程序的第一个版本上线快一个月了,从微信搜索使用一直没什么问题,所以以为挺稳定了,没想到昨晚我们的运营在推文中加上了小程序的链接,想从推文直接跳转至小程序首页的时候,却发现跳过去了之后页面加载异常了,表现为一片空白,死活都加载不出来数据。
由于推文中配的小程序链接只能跳转线上的小程序,并不能配置体验版本的小程序,所以只能靠推理解决这个bug。
接下来我开始了修复之旅
首先我看了一下相关的函数,写得很简单
从入口函数来看,分了三种情况:
1:从城市列表跳转过来的时候会携带一些参数,例如城市id等。这种情况会先进入initData() 函数进行一些初始化。
2:如果页面有缓存数据,也会先进入initData() 函数。
3:如果是从微信直接进入小程序,并且没有过缓存,我把这种情况当作最初始的一种情况,这时候就正常地走获取数据流程,即直接调用getData() 函数获取数据。
1、首先根据页面加载的时候没有出现loading,那么程序并没有执行 getData() 函数。所以肯定不是一开始就执行 thisgetData()。
2、清除缓存,移除小程序,再次进入小程序,仍然出现一片空白,那么知道并不是因为缓存问题,所以也排除第二种情况。
3、至于第一种情况,我是比较认同的。因为当初我只是想到从微信直接打开小程序的场景,却忽略了从公众号推文(甚至别的渠道)进入的场景。据我之前开发公众号的经验推测,从推文进入的时候微信极大可能会在url上携带一些乱七八糟的参数,这些参数正符合第一种情况的条件,进而进入了thisinitData(options)。
4、来看dataflag 的值,如果等于0,那么调用thisgetData(),已知thisgetData()并没有被执行,所以dataflag 不等于0;如果 thisshowFail = true 的话,那么会显示一个失败页,但页面是空白的,并没出现失败页,由此可知dataflag 并不等于1 或者 2。接下来没有路可走了,所以会出现空白页,这就说得过去了。
5、之所以会进入initData()函数,上面提过是别的微信自动加入的参数导致的,这些参数并不是我需要的(比如很关键的一个参数flag),但是却阴差阳错地成为了进入initData()函数的充分条件,此时flag 应该是undefined。所以形式就很明朗了,只要把进入的条件写得严谨一些如:
尽量从源头制止,并把initData函数改造如下,保证有一条通路可走:
到这里,我觉得应该是没问题的了。然后提交审核啦,审核很快就通过了,然后把小程序发布上去,然后开始验证,再次从当初那篇推文进入小程序发现Ok啦,出来数据啦
哈哈 谨记录一下这个坑!
小程序提供打开新页面、页面重定向、页面返回、tabBar切换四种改变视图的机制,托管了页面的生命周期,并为应用提供了相应的生命周期事件,方便应用各阶段的业务处理,但页面之间相互跳转并没有相应的事件机制,例如——
1、A页面打开二级页B,B页面做了一些 *** 作,要通知A页面做相应的处理。
2、从B页面携带一些数据,返回到A页面
以上两种小程序场景很常见,归结为页面间如何方便的进行交互,当然我们可以通过页面跳转传参或全局数据对象来达到目的,但是使用上有些束缚(转换参数或维护全局对象),在此elong小程序项目中采用事件机制解决这一问题。我们重写了navigateToAPI,A页面调用该接口进行页面跳转后,方法返回给A页面一个事件对象 event,该对象可以注册自定义事件,目标页面(B页面)可以按照业务需求触发事件响应,同时将相关数据作为参数传递到监听处callback。
A页面
微信小程序加载不出来
B页面
微信小程序加载不出来
API
微信小程序加载不出来
Event
微信小程序加载不出来
打开二级页面效果图——
微信小程序加载不出来
二、前后端同时开发过程中,前端如何方便的mock数据、特殊场景下前端如何方便的调整后端数据
涉及到>
以上就是关于自己怎么开发小程序全部的内容,包括:自己怎么开发小程序、小程序button事件作用到地图上、微信小程序每次进入的时候会不会清空全局变量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)