微信小程序之小技能篇(一) - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

微信小程序之小技能篇(一)

发表时间:2021-3-31

发布人:葵宇科技

浏览次数:41

1,三目运算改变class值:

<view class="{{flag ? 'change' : 'change_after'}}">改变字体颜色</view>  //flage为true/false时,选择class名

应用场景:需要动态改变元素样式。比如:点击某按钮,改变字体颜色。

2,利用缓存实现:点击按钮,数字减一

复制代码
//XML页面:
<
text style='font-size:26rpx; color:#ff0000'>{{counts}}</text> //JS页面: onLoad: function (options) { var counts = wx.getStorageSync('key') //获取缓存值 this.data.currentcounts = counts //***把counts赋值给data的属性currentcounts if (counts) { //判断是否存在缓存值 this.setData({ //存在的话,将值绑定到counts counts: counts }) } else { wx.setStorageSync('key', 9) //不存在的话,设置缓存值。(为方便测试,这里设置为9) } // console.log(counts); },

  self_redution: function (event) {  //自定义方法
    var a = wx.getStorageSync('key')  //取得缓存值
    if (a > 0) { 
      var b = a - 1  //大于0,那么自身值减一
    } else {
      var b = this.data.currentcounts //***否则,缓存值为上面设置的值
    }
    console.log(b);
    a = wx.setStorageSync('key', b)
    this.setData({
      counts: b,  //将缓存值绑定到counts
    })


   formSubmit: function (event) {

      this.self_redution() //调用上面自定义方法

   },
 
复制代码

 

应用场景:报名时,每次表单提交成功时,剩余可报名人数减掉一人。

上面有一个知识点:如何将onload中获取的值传递到点击事件中?这里采取一个通过data:{}中转的办法:把counts赋值给data的属性currentcounts

this.data.currentcounts = counts  //首先先在onload中:将counts赋值给data的属性currentcounts

var b = this.data.currentcounts  //然后在表单的提交函数中: this.data.currentcounts就是我们上面的counts值

 

3,定义一个方法,如何在点击事件中调用

复制代码
//某个js文件下

self_redution:function(event){ //定义方法 console.log("我来自自定义方法:自减"); }, formSubmit: function (event) { this.self_redution() //调用方法(别忘记加this) },
复制代码

 

------------------------

问题:

今早过来接着优化表单提交【就是每次提交之后,将写入缓存的数值减一】,调试的时候频繁测试代码是否能成功执行,所以会有好多次的表单提交。试着试着,突然浏览器报错,同时也收不到邮件....  然后我点预览在手机上看效果,结果也报错...   

微信小程序预览报错:

Error: tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:64412

浏览器报错:

appservice:1014 POST https://xxxx/sendEmail.php net::ERR_PROXY_CONNECTION_FAILED 

处理:在网上搜到的应该是代理设置上的问题 ,关闭代理。

 工具栏 -“设置”-“代理设置”,选择“不使用任何代理,勾选后直连网络”。

取消代理后,不再报错回复正常。很奇怪,之前还一直好好的,就算是默认代理也没有问题,最有可能就是我频繁提交表单了....

 

catchtouchmove='true'  处理遮罩底层div滚动问题

相关案例查看更多