
小程序 - 验证码倒计时组件
简单说,preference组件其实就是android常见ui组件与sharepreferences的组合封装实现。知道了tcp和udp的区别,就不难理解为何采用tcp传输协议的msn比采用udp的qq传输文件慢了,但并不能说qq的通信是不安全的,因为程序员可以手动对udp的数据收发进行验证,比如发送方对每个数据包进行编号然后由接收方进行验证啊什么的,即使是这样,udp因为在底层协议的封装上没有采用类似tcp的“三次握手”而实现了tcp所无法达到的传输效率。大多数的防火墙或者说是utm部署的模式有路由模式,网桥模式,混杂模式,配置最核心的也就是写规则,一个好的规则会使得内部网络的安全性得到较大的改善,当然如果是utm可能还会附加上一些其他的安全组件,例如见的最多的就是av防病毒组件,ips组件,anti-spam反垃圾邮件组件等,有的还有一些上网行为管理(比较薄弱),vpn等组件,本次主要是以启明星辰的usg系列设备的常见部署模式进行配置说明,其他的厂商的防火墙配置内容都是大同小异,掌握一家的其他的自然也就很容易上手,学习就要善于总结归纳,将有共同点的知识技能归纳,做到一劳多得。
自定义组件
需要封装一个组件,首先要熟悉小程序自定义组件的文档。android 验证码倒计时官方文档在这里
倒计时组件
为了方便描述,我把页面定义为父组件,把倒计时组件定义为子组件吧。
首先需要清楚子组件与父组件之间事件的响应方法,例如:子组件响应父组件的事件,子组件修改父组件的data属性等。
小程序没有像Vue里面的watch模式也没有computed计算属性,但是还好小程序properties里有observer,官方文档说observer表示属性值被更改时的响应函数,那这样就好办了。android 验证码倒计时
react提倡所有的数据都是由父组件来管理,通过props的形式传递给子组件来处理&mdash。而父组件要将todolist数据传递给子组件,对子组件来说,那就是传递进来的外部信息(是『领导』的资源,交付给你来处理),需要使用props。父组件向子组件传递数据,其实就是通过props属性传递的方式,父组件的数据更新,通过props数据的流动,子组件也得到更新。
子组件代码
countdown.js
Component({
/**
* 组件的属性列表
*/
properties: {
// 是否开始倒计时
start: {
type: Boolean,
value: false,
observer(newVal){
if (newVal === true) {
this.countdownFunc()
}

}
}
},
/**
* 组件的初始数据
*/
data: {
timerText: '获取验证码'
},
/**
* 组件的方法列表
*/
methods: {
/**
* 触发页面点击事件
*/
_getCountdownEvent(){
this.triggerEvent("getCountdownEvent")
},
/**
* 触发页面修改data事件
*/
_setStartDataEvent() {
this.triggerEvent("setStartDataEvent", this.data.start)

},
/**
* 倒计时
*/
countdownFunc() {
this.setData({
timerText: 60
})
let target = this
let countdownNum = target.data.timerText
let timer = setInterval(() => {
countdownNum--
target.setData({
timerText: countdownNum
})
if (countdownNum == 0) {
target.setData({
timerText: '重新发送',
start: false
})
值为true时,表示是父窗体,值为false时,表示不是父窗体。2894薄一些,这个毋庸置疑,只是我想给大家说一下啊,它的计时组件在保养时,令人很头疼,因为,一些师傅直接保养完下面的2892机芯,然后不管上面的计时组件。true表示为隐藏容器下每个组件的边框,false表示保留组件现有的边框设置(默认为false)。
clearInterval(timer) //清除定时器
}
}, 1000)

}
}
})
复制代码
显示的倒计时(timerText)可以根据自己需求重新修改。
countdown.wxml
<view bindtap="_getCountdownEvent">{{timerText}}{{start?'s后重试':''}}</view>
复制代码
页面使用
调用组件需要在相应的json文件里面注册,这个我就不说了。
父组件代码
sendRandom.wxml
<countdown id="sendRandom"
start="{{start}}"
f4人类自杀 bind ".。top".bind('。小键盘0购买bind "。
bind:setStartDataEvent="_setStartDataEvent"
>
</countdown>
复制代码
sendRandom.js
Page({
/**
* 页面的初始数据
*/

data: {
start: false
},
/**
* 点击获取验证码
*/
_getCountdownEvent(e) {
// todo: 点击获取验证码之后,可以根据自己的需求,通知子组件可以开始倒计时了
// 如: 向后台请求发送验证码的方法,请求成功之后将start设置为true,表示倒计时开始了。
if (this.data.start === true) {
return
}
this.setData({
start: true
})
},
/**
* 倒计时结束 设置setData为false
*/
_setStartDataEvent(e){
if (e.detail === false) {
this.setData({
start: false
})
}
}
})
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-96397-1.html
无奈上天给她开了个玩笑