1,定时器,setInterval(一直执行) setTimeout(只执行一次)
//只执行一次
setTimeout(function,5000);
//循环执行
setTimeout(function,5000);
// 动态修改定时器时间
let index = 1
let set1 = setInterval(fn, timeDatas[0] * 1000)
function fn() {
if (index < cameras.length) {
routeWay.setCameraOptions({
type: "gs",
pitch: cameras[index].pitch,
heading: cameras[index].heading,
radius: cameras[index].alt
}
)
index = index + 1
clearInterval(set1)
set1 = setInterval(fn, timeDatas[index - 1] * 1000)
} else {
clearInterval(set1)
}
}
2,//加载loading动画
import { Loading } from 'element-ui';
var loadAn = Loading.service({
// 动画中的文字
text:'即将向维修人员发送邮件,请稍等',
// 要加载动画的容器
target:'.app-container'
});
//关闭动画
loadAn.close();
3,Json转换
//后台传过来的Json字符必须转换才能识别为json对象
var a = '{"a":2}';
JSON.parse(a); //{a:2},字符转json
var s = {'a':2};
JSON.stringify(s); //"{"a":2}",json转字符
var track = JSON.parse(tracks);//String转Json,数据库到前端
var trackTest = JSON.stringify(track);//Json转string,前端到数据库
4,异步
打印内容为response.rows
async test(){
var test = []
await listDevelopmentalNoPage().then(response => {
test = response.rows
// console.log(response)
});
console.log(test)
},
打印内容为[]
test(){
var test = []
listDevelopmentalNoPage().then(response => {
test = response.rows
// console.log(response)
});
console.log(test)
},
即在方法前加上async前缀,在需要异步的方法前加上await即可
//await 必须是单独的句子,而不能在方法块里
async calZyl(){
var drill2Data = [];
var drillPoints = await this.getDrillPoint(drill2Data);
}
5,vue报is not defined on the instance but referenced during render
翻译:不是在实例上定义的,而是在渲染过程中引用的。
第一检查是否methods写成method,即检查方法位置,必须放在methods{}块中
第二检查报错得方法有没有定义,即检查有没有这个方法,是不是拼写错了
第三是否只有一个script标签,多个script就会报错
6,时间操作
var now = new Date();//得到当前时间
console.log(now.getTime())//当前时间时间戳
var t2 = "2017-5-8 12:50:30";
console.log(new Date(t2)) // 将日期转换为时间,Mon May 08 2017 12:50:30 GMT+0800 (中国标准时间)
var date = new Date();
var date1 = new Date().getTime(); // 获取当前时间戳
date.setTime(date1 + 60 * 60 *1000);// 当前时间戳+3600s(一小时,其他时间通过计算时间戳进行相应加减),重新设置 Date 对象,得到一小时后的时间
// 格式化日期,如月、日、时、分、秒保证为2位数
function formatNumber (n) {
n = n.toString()
return n[1] ? n : '0' + n;
}
// 参数number为毫秒时间戳,format为需要转换成的日期格式
function formatTime (number, format) {
let time = new Date(number)
let newArr = []
let formatArr = ['Y', 'M', 'D', 'h', 'm', 's']
newArr.push(time.getFullYear())
newArr.push(formatNumber(time.getMonth() + 1))
newArr.push(formatNumber(time.getDate()))
newArr.push(formatNumber(time.getHours()))
newArr.push(formatNumber(time.getMinutes()))
newArr.push(formatNumber(time.getSeconds()))
for (let i in newArr) {
format = format.replace(formatArr[i], newArr[i])
}
return format;
}
//使用formatTime(1545903266795, 'Y年M月D日 h:m:s')或者formatTime(1545903266795, 'Y-M-D h:m:s')