微信小程序之小技能篇(一)
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]微信小程序生成小程序码"小程序页面路径不存在,请重新输入"
描述 小程序页面线上能打开. 微信官方 获取小程序页面小程序码 页面 ,输入 小程序页面路径,提示 "小程序页面路径不存在,请重新输入". 使用微信复制小程序路径方法, 也是同样的 ...
随机推荐
- Python 模块初始化的时候,发生了什么?
假设有一个 hello.py 的模块,当我们从别的模块调用 hello.py 的时候,会发生什么呢? 方便起见,我们之间在 hello.py 的目录下使用 ipython 导入了. hello.py ...
- 服务注册与发现—Eureka
一:Eureka简介 Eureka的意思是(因找到某物,尤指问题的答案而高兴) 我发现了,我找到了,作为一个服务注册和发现中心的名字确实很贴切啊. Eureka包含两个组件,Eureka Server ...
- 更改 MATLAB 默认工作路径
步骤: 1. 以管理员身份打开记事本,然后打开 MATLAB安装路径\MATLAB\R2010b\toolbox\local\matlabrc.m 文件,即打开安装路径下的 matlabrc.m 文件 ...
- Python14之字符串(各种奇葩的内置方法)
一.字符串的分片操作 其分片操作和列表和元组一样 str1 = 'keshengtao' str1[2:6] 'shen' str1[:] 'keshengtao' str1[:4] 'kesh' 二 ...
- python — 线程
目录 1.线程基础知识 2 Thread 类 3 锁 4 队列 1.线程基础知识 1.1 进程与线程的区别 进程: 创建进程 时间开销大 销毁进程 时间开销大 进程之间切换 时间开销大 线程: 线程是 ...
- python技巧 — Chrome浏览器中的 XPath Helper
用于XPath 爬取网页结构的时候使用, 安装后 快捷键调用 左边 ctrl+ shift+x 启动 安装流程: 1. 打开chrome浏览器,扩展程序 .搜索 XPath Helper 下载安装(前 ...
- 基于TCP的编程
前提:本文基于Linux系统下的学习 服务器端 1 创建通讯端口,返回socket设备的文件描述符 sfdsocket(2)#include <sys/types.h> /* See NO ...
- 洛谷 P1217 回文质数
洛谷 P1217 回文质数 链接 https://www.luogu.org/problem/P1217 题目 题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 ...
- 使用docker搭建reids主从,哨兵。
Redis主从配置,如果没有真机就要用虚拟机,使用Docke for Windows host网络有问题. 准备: 1.安装虚拟机. 2.下载redis的安装文件:http://download.re ...
- Hadoop HA 搭建
Hadoop HA 什么是 HA HA是High Available缩写,是双机集群系统简称,指高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点.通常 ...