1.微信小程序规定页面路径最多只能是五层,当进入第五层页面之后,wx.navigateTo将不能正常打开新页面。请避免多层级的交互方式,或者使用如下方式解决:

(1)
wx.navigateBack({
  delta: 2
})
关闭当前页面,返回上一页面或多级页面delta--返回的页面层数

(2)
wx.reLaunch({
  url: 'index?id=1'
})
关闭所有页面,打开到应用内的某个页面。
(3)
wx.redirectTo({
  url: 'test?id=1'
})
使用redirectTo代替navigateTo(关闭当前页面,跳转到应用内的某个页面)

注:tab定义过的页面跳转只能用wx.switchTab跳转,wx.navigateTo等跳转无效

2.tabBar图标必须是相对路径

3.防止重复提交和打开多个页面的方法:

(1)定义一个data来作为判断依据,如

  bindtap="{{(isConfirmBuy==0)?'':'confirmBuy'}}"(此方法仅针对多次点击按钮事件,表单重复提交无效)

(2)根据点击事件的时间戳来判断,如

function bindViewTap(e) {
//该方法针对快速点击多次跳转多次引起的BUG
var time = e.timeStamp;
//console.log(time+"---"+app.globalData.lastTapTime+"---"+Math.abs(time-app.globalData.lastTapTime))
//设置无效点击,根据自己的需求设置,这里navigateTo切换页面到动画结束需要的时间为500毫秒左右
if (Math.abs(time - app.globalData.lastTapTime) < 500 && app.globalData.lastTapTime != 0) {
//app.globalData.lastTapTime = time; //这里一定更新无效点击的时间
return false;
}else{
app.globalData.lastTapTime = time;
return true;
}
//更新有效点击的时间
}

//定义公共方法

var bvt = common.bindViewTap(e);
if(!bvt) return false;

//事件最开始调用(推荐)

4.赋值写法:

this.setData({ 'status':false }); 有效         this.data.status= true 无效

5.注意将上传下载网络请求等接口地址设置白名单。

6.小程序onLaunch里面异步取值导致首页onload取值取不到的问题

 方案:(1)做个启动页过度

            (2)把下面的方法放到异步请求成功后的success里面

if (getCurrentPages().length != 0) {
  getCurrentPages()[getCurrentPages().length - 1].onLoad()
}

7.小程序之间的跳转问题:(https://mp.weixin.qq.com/debug/wxadoc/dev/api/navigateToMiniProgram.html)

(1)相互跳转的小程序必须关联同一个公众号

(2)小程序跳转需通过extraData传值和取值,可通过App.onShow()获取,App.onLaunch()获取好像拿不到。

8.理论上只有表单提交和支付场景下可以发送模板消息(表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id

(1)支付

当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发3条,多次支付下发条数独立,互相不影响)

(2)提交表单

当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)

实际应用时可以通过模拟表单提交获取多个formId再保存下来,这样7天之内就可以随时给用户发送模板消息,以实现批量发送的效果。如:

<form bindsubmit="goOrderList" report-submit="true">
<button class="list" data-za-title="我的订单" formType="submit" hover-class="none">我的订单</button>
</form>

9.map、canvas、video、textarea 是由客户端创建的原生组件,原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。 原生组件暂时还无法放在 scroll-view 上,也无法对原生组件设置 css 动画

10.微信小程序showToast都是带icon的,如果需要不带icon的toast需要自己封装

11.wx.showModal微信自带对话框,content不支持html类型数据,仅支持txt,支持\n\r,所以扩展性不好。(复杂情况下推荐自己写)

12.连续快速点击input获取焦点后马上点击按钮,input不会失去焦点键盘不会收起,应用场景如发送验证码。

 13.微信小程序授权问题:如果拒绝授权,短时间内微信不会重新调起授权框让用户重新授权。

处理方案:1.判断用户授权操作,如果拒绝,弹出确认框提示用户“将无法正常使用小程序,建议删除小程序重新进入或者手动授权,是否手动授权?”,用户点击确定,跳到设置界面,手动授权,用户点击取消,跳到取消授权页面(需开发)

 

posted @ 2017-11-23 17:43 名字好难起 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 1,固定宽度区浮动,自适应区不设宽度而设置 margin 我们拿右边定宽左边自适应来做示范,CSS代码如下: #wrap { overflow: hidden; *zoom: 1; } #content ,#sidebar { background-color: #eee; } #sidebar { 阅读全文
posted @ 2016-07-13 15:34 名字好难起 阅读(2973) 评论(0) 推荐(0) 编辑
摘要: 1.css3 : 对需要水平垂直居中的元素写css: div#wrapper { display: table; width: 500px; height: 500px; } div#row { display: table-row; } div#cell { display: table-cell 阅读全文
posted @ 2016-07-12 16:31 名字好难起 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 1、困扰多时的问题 在这之前做Web App开发的的时候,在自适应方面一般都是宽度通过百分比,高度以iPhone6跟iPhone5之间的一个平衡值写死,我们的设计稿都是iPhone5的640 * 1136标准,所以高度一般取个大概值,各种图标的宽高也是取平衡值写死,然后部分样式通过媒体查询来设置,例 阅读全文
posted @ 2016-07-11 16:55 名字好难起 阅读(202) 评论(0) 推荐(0) 编辑
摘要: reactJs http://www.cocoachina.com/webapp/20150721/12692.html 简介篇 http://reactjs.cn/react/index.html 官网 dot.js js模板引擎 阅读全文
posted @ 2016-05-10 17:03 名字好难起 阅读(152) 评论(0) 推荐(0) 编辑
摘要: jquery.masonry.min.js 瀑布流布局插件swiper.js移动端网页触摸内容滑动js插件fullPage.js jquery全屏滚动插件touchslider适用于触摸、鼠标操作的幻灯片交互插件simplePagination.js jQuery翻页插件extjs tab,jqG... 阅读全文
posted @ 2015-10-19 16:33 名字好难起 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 安卓webview下使用zepto的swipe时遇到的问题 (使用zepto的swipe时必须引用touch.js,不然很多移动端浏览器swipe会失灵。) 我想要用swipeLeft/swipeRight监听向左向右滑动事件,如果只是单纯为元素增加swipeLeft/swipeRight事件的话... 阅读全文
posted @ 2015-10-19 15:55 名字好难起 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: http://www.imooc.com/article/1402 前端JavaScript规范 http://www.jb51.net/article/55440.htm git TortoiseGit安装使用方法 http://www.ueffort.com/jqueryajaxfileuplo 阅读全文
posted @ 2015-08-21 11:16 名字好难起 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 谈谈Javascript中的void操作符http://segmentfault.com/a/1190000000474941总结:void有如下作用:通过采用void 0取undefined比采用字面上的undefined更靠谱更安全,应该优先采用void 0这种方式。填充的href确保点击时不会... 阅读全文
posted @ 2015-07-05 19:39 名字好难起 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1. 页面宽度320, 所有元素尺寸设一半缺点:不自能适应全屏2.页面宽度640,元素尺寸正常内嵌到app端有时会有尺寸问题3.页面宽度640,js控制自适应全屏缺点:qq空间分享后点开页面套在qq默认浏览器里有兼容性问题4.rem写法,所有元素原尺寸长宽除以100,(注意背景图,图片的大小需要设置... 阅读全文
posted @ 2015-03-04 11:40 名字好难起 阅读(1979) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示