小程序填坑

1,page A navigete to Page B,在pageB编辑了数据,需要把数据传回到pageA,也就是把当前页的data数据赋值给上一页,不用url的option传参,有一个更简单的方法:

let pages = getCurrentPages(); //当前页面
let prevPage = pages[pages.length - 2]; //上一页面
let currentData = {"name":testName};
prevPage.setData(retData); //直接给上移页面赋值
wx.navigateBack({
delta: 1
}); //后面要用这个进行返回;不能用navigateTo,不然数据会丢失


2,小程序wxml文件,include报错:

Included path `xxxxxx ` not found from 'xxxxxxxx'
提现流程分员工端和客户端,页面长的一模一样,然后我就在后面的wxml文件里include之前的wxml文件,但是这个时候调试器出现了这么一个提示:
./pages/shopping_mall/fenxiao/submit_detail.wxml:include:-1:-1: Included path `/pages/sales/achievement/submit_detail.wxml` not found from `./pages/shopping_mall/fenxiao/submit_detail.wxml`.


我之前用的是相对地址,后来改成了绝对地址,还是有问题(所以不是地址的问题!!)。用了之前include的一个页面地址,页面出现了!然后对比两个页面地址,发现可以用的地址在app.json中是在最外层的,现在报错的地址在subPackages里!(重点来了!)
然后,就去查了小程序API,发现这个东西是所谓的分包,官方地址:
https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.html
在使用分包里,有一个引用原则:

也就是不能跨包进行引用文件。虽然这里没有直接说include,但是require都不能用了,include肯定也是不能用的。
为了验证我的说法,我把员工端页面放到了app.json最外层,也就是从分包里拿出来,然后再去include。果不其然。。。页面可以正常引用。


3,输入框允许输入小数点,但是小数点后最多输入两位小数


解题思路:
1,有一个属性,可以控制输入框的输入长度:maxlength;
2,把关注点放到输入完小数点后的第二位,而不是第三位。

解决方案:
a, 判断是否有小数点;
b,小数点后是不是已经出现了两位小数,就是比较字符串的长度和indexOf(".")+3是不是相等;
c, 如果相等,设置该输入框的maxlength为字符串的长度。
tips:记得要实时恢复manlength。

其实这个解决方案最主要就是依靠动态控制maxlength的值,来实现不能继续输入的效果。
不能继续输入,但是input又没有失焦,也没有disabled掉。


4,wx.redirectTo一直报错,提示fail to redirectTo/navigateTo page"xxxxxxx" is not found;但是该页面已经在app.json配置过了。正常访问也没有问题。

那么问题在哪呢??
仔细看url最后,不带参数的话,?前面应该不带/的。。。
wx.redirectTo({
url: "/pages/shopping_mall/orderdetail/orderdetail/?activityId=" + atyId + "&goodsId=" + goodsId + "&relationId=" + reid + "&buyType=0" + "&isShowPay=" + true,
})
所以把/删除就好了。。。。

原文地址:https://www.cnblogs.com/new-dream-new-hope/p/10853701.html