免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點擊查看

小程序模板網(wǎng)

微信小程序的this和that,觸摸水波漣漪效果

發(fā)布時間:2018-04-12 11:03 所屬欄目:小程序開發(fā)教程

一:this和that

分享者:別寒,原文地址 
微信小程序中,在wx.request({});方法調(diào)用成功或者失敗之后,有時候會需要獲取頁面初始化數(shù)據(jù)data的情況,這個時候,如果使用,this.data來獲取,會出現(xiàn)獲取不到的情況,調(diào)試頁面也會報undefiend。原因是,在javascript中,this代表著當(dāng)前對象,會隨著程序的執(zhí)行過程中的上下文改變,在wx.request({});方法的回調(diào)函數(shù)中,對象已經(jīng)發(fā)生改變,所以已經(jīng)不是wx.request({});方法對象了,data屬性也不存在了。官方的解決辦法是,復(fù)制一份當(dāng)前的對象,如下:

var that=this;//把this對象復(fù)制到臨時變量that 
在success回調(diào)函數(shù)中使用that.data就能獲取到數(shù)據(jù)了。

不過,還有另外一種方式,也很特別,是將success回調(diào)函數(shù)換一種聲明方式,如下:

 

				
  1. success: res =>{
  2. this.setData({
  3. loadingHidden: true,
  4. hideCommitSuccessToast: false
  5. })
  6. }

在這種方式下,this可以直接使用,完全可以獲取到data數(shù)據(jù)。

再給一個完整的例子:

 

				
  1. success: res => {
  2. if (res.data.code != 0) {
  3. // 提交失敗
  4. this.setData({
  5. loadingHidden: true,
  6. hiddenTips: false,
  7. tipsContent: res.data.message
  8. })
  9. } else {
  10. // 提交成功
  11. this.setData({
  12. loadingHidden: true,
  13. hideCommitSuccessToast: false
  14. })
  15. subBtn = false;
  16.  
  17. // 定時,3秒消失
  18. setTimeout(() => {
  19. this.setData({
  20. hideCommitSuccessToast: true
  21. })
  22. wx.navigateBack({ delta: 2 });
  23. }, 2000);
  24.  
  25. }
  26. }
 

二:觸摸水波漣漪效果

分享者:未知,原文地址  效果

html代碼

 

				
  1. <view class="ripple" style="{{rippleStyle}}"></view>
  2. <view class="container" bindtouchstart="containerTap"></view>

css代碼

 

				
  1. .container{
  2. width:100%;
  3. height:500px;
  4. }
  5. .ripple {
  6. background-color: rgba(0, 0, 0, 0.8);
  7. border-radius: 100%;
  8. height:10px;
  9. width:10px;
  10. margin-top: -90px;
  11. position: absolute;
  12. -webkit-transform: scale(0);
  13. }
  14. @-webkit-keyframes ripple {
  15. 100% {
  16. -webkit-transform: scale(12);
  17. transform: scale(12);
  18. background-color: transparent;
  19. }
  20. }

js代碼

 

				
  1. containerTap:function(res){
  2. console.log(res.touches[0]);
  3. var x=res.touches[0].pageX;
  4. var y=res.touches[0].pageY+85;
  5. this.setData({
  6. rippleStyle:''
  7. });
  8. this.setData({
  9. rippleStyle:'top:'+y+'px;left:'+x+'px;-webkit-animation: ripple 0.4s linear;animation:ripple 0.4s linear;'
  10. });
  11. }


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.szcjxy.com/wxmini/doc/course/23295.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服