微信小程序之小技能篇(一)
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
处理:在网上搜到的应该是代理设置上的问题 ,关闭代理。
工具栏 -“设置”-“代理设置”,选择“不使用任何代理,勾选后直连网络”。
取消代理后,不再报错回复正常。很奇怪,之前还一直好好的,就算是默认代理也没有问题,最有可能就是我频繁提交表单了....
let goodsList = [
{ actEndTime: '2018-09-01 10:00:43' },
{ actEndTime: '2018-08-01 11:00:00' },
{ actEndTime: '2018-10-01 12:45:56' },
{ actEndTime: '2018-07-01 15:00:23' },
{ actEndTime: '2018-09-23 17:00:22' },
{ actEndTime: '2018-09-14 19:00:44' },
{ actEndTime: '2018-09-21 21:00:34' },
{ actEndTime: '2018-10-17 09:00:37' },
{ actEndTime: '2018-03-21 05:00:59' },
{ actEndTime: '2018-08-19 07:00:48' },
{ actEndTime: '2018-08-03 10:00:11' }
] //普通写法
var end = [];
goodsList.forEach(function(curr){
console.log(curr.actEndTime);
end.push(curr.actEndTime);
})
console.log(end); //ES6写法:
var end = [];
goodsList.forEach(curr=>{
end.push(curr.actEndTime)
})
console.log(end);
微信小程序之小技能篇(一)的更多相关文章
- 新人学习微信小程序开发之框架篇
大家好我是智哥,一名专注于前端领域的一名码农. 咱们今天主要来说说微信小程序, 最近一段时间微信群里的小程序,小游戏各种分享是突然一下子就爆发了,现在来看小程序作为微信的重磅功能无疑又是下一个风口.咱 ...
- 微信小程序教程(第一篇)
目录 第一篇小程序概述 第二篇如何注册接入小程序及搭建开发环境 第三篇小程序的架构及实现机制,信道服务及会话管理 第四篇小程序开发基本框架及其限制与优化 第五篇小程序开发项目实例,测试及发布 .... ...
- 使用wepy开发微信小程序商城第三篇:购物车(布局篇)
使用wepy开发微信小程序商城 第三篇:购物车(布局篇) 前两篇如下: 使用wepy开发微信小程序商城第一篇:项目初始化 使用wepy开发微信小程序商城第二篇:路由配置和页面结构 基于上两篇内容,开始 ...
- 我的第一个上线小程序,案例实战篇二——LayaAir游戏开始界面开发
不知不觉我的第一个小程序已经上线一周了,uv也稳定的上升着. 很多人说我的小程序没啥用,我默默一笑,心里说:“它一直敦促我学习,敦促我进步”.我的以一个小程序初衷是经验分享,目前先把经验分享到博客园, ...
- 微信小游戏 小程序与小游戏获取用户信息接口调整 wx.createUserInfoButton
参考: 小程序•小故事(6)——微信登录能力优化 小程序•小故事(4)——获取用户信息 本篇主要是讲微信getUserInfo接口不再出现授权弹框 那么原来getUserInfo是怎么样?修改之后又是 ...
- 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇)
系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 前言 好久不见,很久没更新博客了,前段时间 ...
- 微信小程序——智能小秘“遥知之”源码分享(语义理解基于olami)
微信小程序智能生活小秘书开发详解 >>>>>>>>>>>>>>>>>>>>> ...
- 微信小程序+“芝麻小客服”可设自动关注公众号,助力运营闭环
微信小程序全面上线已经接近1年的时间,从最初的"用完即走"理念到2017年总计更新开放60余次的功能创新,微信小程序不一定会爆发下一次的红利,但绝对是微信生态中重要的一环. 芝麻小 ...
- 玩玩小程序:使用 WebApi 交互打造原生的微信小程序 - 图灵小书架
使用 WebApi 交互打造原生的微信小程序 - 图灵小书架 目录 介绍 源码地址 扫一扫体验 代码分析 其它相关信息(互联网搜集) 介绍 定时抓取图灵社区官网的首页.最热.推荐和最新等栏目的相关图书 ...
- [BUG]微信小程序生成小程序码"小程序页面路径不存在,请重新输入"
描述 小程序页面线上能打开. 微信官方 获取小程序页面小程序码 页面 ,输入 小程序页面路径,提示 "小程序页面路径不存在,请重新输入". 使用微信复制小程序路径方法, 也是同样的 ...
随机推荐
- 转:对JavaScript中闭包的理解
关于 const let var 总结: 建议使用 let ,而不使用var,如果要声明常量,则用const. ES6(ES2015)出现之前,JavaScript中声明变量只有 ...
- 二十一、RTC驱动
一.RTC设备驱动分析 内核的rtc驱动位于内核drivers/rtc目录下,里面包含各个平台的RTC驱动.读者可在此目录下任意选择一个单板驱动文件进行分析,我选择的是rtc-davinci.c文件. ...
- [The 2019 Asia Yinchuan First Round Online Programming] D Take Your Seat
也许更好的阅读体验 \(\mathcal{Description}\) 原题链接 题目大意 该题目有两个问题 \(Task\ 1\),有\(n\)个人\(n\)个座位,每个人都有一个对应的座位,每个人 ...
- 用ASP.NET Web API技术开发HTTP接口(二)
在第一部分,我们创建了一个基本的ASP.NET Web API项目,新建成功了数据表,然后添加了一些测试数据,最后创建了API控制器,用json格式把数据表里面的内容成功输出到浏览器上.接下来我们将继 ...
- C#进阶系列——WebApi 传参详解
本篇打算通过get.post.put.delete四种请求方式分别谈谈基础类型(包括int/string/datetime等).实体.数组等类型的参数如何传递. 回到顶部 一.get请求 对于取数据, ...
- Golang安装和配置
Golang安装和配置 Linux Golang 下载源码,解压. # /home/superpika为你的主目录 mkdir /home/superpika/go mkdir /home/super ...
- Java8新特性 - 方法引用与构造器引用
方法引用 若Lambda体中的内容有方法已经实现了,我们可以使用"方法应用",可以理解为方法引用是Lambda表达式的另外一种表现形式. 使用操作符"::"将方 ...
- Python-demo(抖音)
# -*- coding:utf-8 -*- from mitmproxy import ctx import json import requests import time import os p ...
- iOS - 毛玻璃特效
iOS7.0的SDK并没有提供给开发者实现毛玻璃效果的API,所以很多人都是通过一些别人封装的框架来实现 iOS7.0(包括)之前还是有系统的类可以实现毛玻璃效果的, 就是 UIToolbar这个类, ...
- iOS10推送必看UNNotificationAttachment以及UNTimeIntervalNotificationTrigger
虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可以看看,有耐心的还是读一读. 这篇文章开始,我会跟大家好好讲讲,苹果新发布的iOS10的所有通知类. 一.创建本地通知事例详解: ...