一:this和that分享者:别寒,原文微信小程序中,在wx。request({});方法调用成功或者失败之后,有时候会需要获取页面初始化数据data的情况,这个时候,如果使用,this。data来获取,会出现获取不到的情况,调试页 。。
一:this和that
分享者:别寒,原文
微信小程序(procedure)中,在wx。
宁波小程序开发对于用户来说,能够节约使用时间成本和手机内存空间;对于开发者来说也能节约开发和推广成本。request({});方法调用成功或者失败之后,有时候会需要获取页面初始化数据(data)data的情况,这个时候,如果使用,this。data来获取,会出现获取不到的情况,调试页面也会报undefiend。原因是,在javascript中,this代表着当前对象,会随着程序的执行过程中的上下文改变,在wx。request({});方法的回调函数中,对象已经发生改变,所以已经不是wx。request({});方法对象了,data属性也不存在了。官方(authority)的解决办法是,复制一份当前的对象,如下:
var that=this;//把this对象复制到临时变量(Variable)that
在success回调函数中使用that。data就能获取到数据(data)了。
不过,还有另外一种方式,也很特别,是将success回调函数换一种声明方式,如下:
success: res = gt;{
this。setData({
loadingHidden: true,
hideCommitSuccessToast: false
})}
在这种方式下,this可以直接使用,完全可以获取到data数据。
再给一个完整的例子:
success: res = gt; {
if (res。data。code != 0) {
// 提交失败
this。setData({
loadingHidden: true,
hiddenTips: false,
tipsContent: res。data。message
})
} else {
// 提交成功
this。setData({
loadingHidden: true,
hideCommitSuccessToast: false
})
subBtn = false;
// 定时,3秒消失
setTimeOUT(出局)(() = gt; {
this。setData({
hideCommitSuccessToast: true
})
wx。navigateBack({ delta: 2 });
}, 2000);
}
}二:触摸水波涟漪效果
分享者:未知,原文
效果
html代码
lt;view style="{{rippleStyle}}" gt; lt;/view gt; lt;view bindtouchstart="containerTap" gt; lt;/view gt;
css代码(code)。container{
width:100%;
height:500px;}。ripple {
background-color: rgba(0, 0, 0, 0。8);
border-radius: 100%;
height:10px;
width:10px;
margin-top: -90px;
position: absolute;
-webkit-transform: scale(0);}@-webkit-keyframes ripple {
100% {
-webkit-transform: scale
(12);
transform: scale
(12);
background-color: transparent;
}}
js代码(code)
containerTap:function(res){
console。log(res。touches[0]);
var x=res。touches[0]。pageX;
var y=res。touches[0]。pageY+85;
this。宁波微信小程序开发是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。setData({
rippleStyle:''
});
this。宁波小程序开发对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。setData({
rippleStyle:'top:'+y+'px;left:'+x+'px;-webkit-animation: ripple 0。4s linear;animation:ripple 0。4s linear;'
}); }