
小程序开发工具--详情--本地设置--启用自定义处理命令
用来执行脚本
为了提升用户 *** 作的流畅性,同时让用户在微信内拥有一致的 *** 作体验,“右滑手势返回”将成为基础配置,即所有小程序内都可以从屏幕左侧边缘向右滑动返回上一个界面。 在即将发布的705客户端版本中,页面配置中的 disableSwipeBack 属性将不再生效,请开发者及时调整。
背景图为fixed, top随滚动而改变 。 重点就是 onPageScroll 。
还可使用 scroll-view 的下拉刷新,且可以自定义样式。
用wxs监听滚动事件,设置样式。
不在以下 request 合法域名列表中,请参考文档
解决方案:在详情--本地设置中勾选“不校验合法域名。。。”
mode widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变。应避免使用widthFix,尽量指定宽高。
导航栏高度
iOS 44px (4+32+8)
android 48px (8+32+8)
胶囊与状态栏间距(应该计算得出)ios 4px,Android 8px,与导航栏底边距8px(只能取固定值)。
胶囊高度 32px
状态栏高度,刘海屏通常为44px
setData 是小程序开发中使用最频繁、也是最容易引发性能问题的接口。
因此,开发者在调用 setData 时要注意:
数组索引不能直接用变量,解决方案:
取原来的值:
在onUnload中取消timer
微信小程序中,可以用 hover-class 属性来指定元素的点击态效果。但是在在使用中要注意,大部分组件是不支持该属性的。
目前支持 hover-class 属性的组件有三个:view、button、navigator。
不支持 hover-class 属性的组件,同时也不支持 hover-stop-propagation、hover-start-time、hover-stay-time 这三个属性。
如果background写在wxml中,那么background-size也要写在style中,如果写在wxss中不会生效。
获取系统屏幕边框的安全距离:
safe-area-inset-top
safe-area-inset-right
safe-area-inset-bottom
safe-area-inset-left
ios11:constant(safe-area-inset-bottom)
ios112:env(safe-area-inset-bottom)
scroll-view的子元素最好包一层,不然宽度可能不起作用。
当小程序使用页面进行滚动时,可以给遮罩设置catchtouchmove属性来禁止页面滚动
这样试试:
showDeleteBtn: function(event)
{
var index = eventcurrentTargetid;
thisdatatodos[index]isDelete = true;
thissetData(
{
todos: thisdatatodos
});
)
一般是先修改json值再setData 比如:
page({
data:{
s1:{a:"",b:"b"}
},
changeData:function(e){
var cData=thisdatas1;
cDataa="1";//先修改json值
thissetData({ //再set值
s1:cData
})
}
})
把AngularJS开发的页面迁移到微信小程序目录迁移
1、每个子模块页面换成Pages目录下的一个子目录,目录命名就是原子模块名。
2、原来的通用css、image、fonts等静态资源统一移到resource目录下,需要使用时,对于css样式文件,在对应子模块的wxss文件首部通过import命令引入;替换规则1、div需统一转换成View;2、ng-show统一转换为wx:if;
3、ng-click统一转换为bindtap;
4、ng-repeat统一用wx:for替换;
5、ng-class中的样式选择性绑定可以直接把条件绑定语句嵌入class属性;js代码模块级代码迁移:可将模块级作用域使用的通用逻辑搬到appjs中,通过app对象来引用;或者定义一个util模块,来做动态引入;对于原生与h5交互时用到的自定义事件,需要根据具体场景做处理。
子模块级代码迁移:可将Angular子模块代码直接迁移到小程序对应Page对象中,当然,对于Angular特定语法的$对象(例如$scope、$rootscope)的 *** 作,需要做全局替换,替换原则是:
1、$scope:与Page对象同生命周期内的$scope,可以直接替换成this;而对于非同一生命周期的(最常见的即是各种callback回调函数),需要将Page对象在方法外做引用保存(例如varself=this),然后在回调函数中使用。
2、$rootScope:推荐放入app对象中引用,或者自定义通用模块,然后动态引入;
3、数据模型:各页面中建立的数据模型,直接放入json文件中,如果涉及Angular特定语法的 *** 作,可参考上述两点的做法进行替换;
4、jsonp请求:将jsonp请求统一替换成wxrequest请求,只是原来的链式写法要换成参数型写法;
5、子模块间的页面跳转,$statego统一替换成wxnavigateTo或wxnavigateBack。
这个问题要谈到一个问题,就是对象。对象是存储在内存中的一个存储区域,你在data上面写的wjuan只是这个对象或者数组存储空间的索引地址,当你 *** 作修改的时候,只是修改wjuan内部某个对象的属性值,wjuan所代表的索引地址并没有发生变化,所以不会认为你是在修改wjuan。当然,如果你的wjuan对应的是一个确定的字符串、布尔或者数字值的时候,你不用setData,肯定就不会成功。
在微信小程序中经常会遇到修改数组中某一项的值,比如array[0]或者是对象中objectitem的值。这些值在微信小程序中都需要使用一个名为setData的方法,而这个方法是通过键值对的形式对数据进行修改,setData({ 参数名: 值 });
既然知道是以键值对的方式进行传参,那么我们在修改数组和对象的时候就直接将要修改的参数名写成对应字符串就可以了,然后使用[]将字符串括起来,这就告诉编译器这是指向的是该字符对应的实际位置,如下:
var authority = 'buttonGroupauthority'
thatsetData({
[authority]: parseInt(level)
})
var printPrice = "item["+i+"]print_price";
thissetData({
[printPrice]: edetailvalue
});
以上就是关于小程序备忘全部的内容,包括:小程序备忘、微信小程序:如何用setData修改数组、求教怎么更改微信小程序中app.js的 globalData 属性,值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)