代码拉取完成,页面将自动刷新
引入vue插件moment
编写utils
export function formatDate (date, fmt) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
let o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
};
for (let k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + '';
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
}
}
return fmt;
}
function padLeftZero (str) {
return ('00' + str).substr(str.length);
}
页面中filters
filters: {
formatDate(time) {
let date = new Date(time)
return formatDate(date, 'yyyy-MM-dd')
}
}
调用
<mt-cell title="开始时间" :value="startDate | formatDate"></mt-cell>
vue-router是Vue.js官方的路由管理器,它和 Vue.js 的核心深度集成,让构建单页应用变得易如反掌。包含的功能有:
我们是将菜单放在Vuex
中,类似于放在内存里。而且我们现在是一个浏览器的应用。如果这时候用户在当前页面按了刷新按钮(F5),路由数据可能就被初始化的数据routes:[]
覆盖。可能会出现菜单丢失的情况。如何解决菜单丢失的问题?这就是路由导航守卫的作用。
router.beforeEach((to,from,next)=>{
// 判断用户是否登录
if (window.sessionStorage.getItem('tokenStr')) {
initMenu(router,store);
next();
} else {
// 判断是不是登录页
next();
}
});
to:即将要进入的目标路由对象
from:从当前导航要离开的路由(例如选项1到选项2:from‘选项1’to‘选项2’)
next:如果没有next,就不会跳到下一个路由(参数:false-中断当前跳转)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。