Vue.js相关:element上传组件循环引用及简单时间倒计时的实现
发布于 2020-4-9|
复制链接
摘记: 前言
今天记录几个简单的小问题,前端时间开发用到的,之前看到博客中没有记录,简单记录一下。 一个是element上传组件循环引用的方式,一个是简单的倒计时。上传组件每个上传都要指定相应的函数,而且函数不能传入参数 ..
前言今天记录几个简单的小问题,前端时间开发用到的,之前看到博客中没有记录,简单记录一下。 一个是element上传组件循环引用的方式,一个是简单的倒计时。上传组件每个上传都要指定相应的函数,而且函数不能传入参数,10个上传按钮要写10个上传函数,非常麻烦。针对这个,我们可以循环这些函数。案例
element一个上传组件如下:
```xml
```
假如有10个上传,岂不是要指定10个handleAvatarSuccess这个回掉函数?这些太麻烦了!!!no! 我们可以不用这么写。推荐的一个写法如下:
```xhtml
{{item.name}}点击查看示例
```
如上面代码,我们直接循环上传。我们在data()里面指定handlescSuccess: {},
```javascript
data(){
return {
handlescSuccess: {},
svalueImg: {},
}
}
```
初始化的时候,对上传进行设置
```javascript
for (let i = 1; i 上面的代码是针对一个上传按钮只能上传一张图片的情况。上传多种做法类似。例如如下:
```javascript
//以下代码写在回调里面
for (let i = 0; i 时间倒计时
这个实现起来很简单,但是在vue Dom 中实时展示,要用$set方式天,小时,分钟,秒的倒计时函数:
data里面:
```javascript
data(){
return {
letTimes: { nowTime: '' },
}
}
```
methods里面:
```javascript
countDown(times) {
const _this = this
let timer = null
timer = setInterval(function() {
let day = 0,
hour = 0,
minute = 0,
second = 0// 时间默认值
if (times > 0) {
day = Math.floor(times / (60 * 60 * 24))
hour = Math.floor(times / (60 * 60)) - (day * 24)
minute = Math.floor(times / 60) - (day * 24 * 60) - (hour * 60)
second = Math.floor(times) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60)
}
if (day 单纯分钟和秒倒计时
```javascript
function resetTime(time){
var timer=null;
var t=time;
var m=0;
var s=0;
m=Math.floor(t/60%60);
m=3){
s=59;
m="0"+(Number(m)-1);
}
if(m.length>=3){
m='00';
s='00';
clearInterval(timer);
}
console.log(m+"分钟"+s+"秒");
}
timer=setInterval(countDown,1000);
}
```
用法很简单,传秒数进来就可以了例如:
```javascript
this.countDown(5689)
this.resetTime(256)
```
小结