Vue 指定時間刷新頁面


1、時間格式化js

validate.js

export default {
format (fmt) {
let o = {
'y+': this.getFullYear(), // 年
'M+': this.getMonth() + 1, // 月份
'd+': this.getDate(), // 日
'h+': this.getHours(), // 小時
'm+': this.getMinutes(), // 分
's+': this.getSeconds(), // 秒
'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
'S': this.getMilliseconds() // 毫秒
}
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
}
for (var k in o) {
if (new RegExp('(' + k + ')').test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
}
}
return fmt
}
}

2、main.js引入

import { getToken } from '../src/utils/auth'
import validate from './utils/validate'
Vue.prototype.validate = validate

各組件調用

// eslint-disable-next-line no-extend-native
Date.prototype.format = this.validate.format
let today = new Date().format('yyyy-MM-dd')

3、零點刷新

在main.js里寫

window.vue = new Vue({
el: '#app',
store,
router,
store2,
components: { App },
template: '<App/>',
created () {
if (getToken()) {
this.startSub(this)
}
window.setInterval(() => {
// eslint-disable-next-line no-extend-native
Date.prototype.format = validate.format
let format = new Date().format('hh:mm:ss')
if (format === '00:00:00') {
store.dispatch('mapalarm/update_alarm_data', [])
location.reload()
}
}, 1000)
},
beforeDestroy () {
this.closeSub()
}
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM