vue外卖二十四:功能完善:时间戳格式化filter、缓存路由组件对象、路由后退push改replace,解决多嵌套路由页面点返回多次无法一次退出到上一个页面民

本文主要是介绍vue外卖二十四:功能完善:时间戳格式化filter、缓存路由组件对象、路由后退push改replace,解决多嵌套路由页面点返回多次无法一次退出到上一个页面民,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、时间戳格式化filter

评价列表页面的发布时间:1469281964000,格式化为人可看懂的时间

1)新建文件并创建一个filter实例 src/filter/index.js

import Vue from 'vue'// 【1】将时间戳转日期格式的过滤器
Vue.filter('date-format', (dataStr) => {var time = new Date(dataStr);function timeAdd0(str) {if (str < 10) {str = '0' + str;}return str}var y = time.getFullYear();var m = time.getMonth() + 1;var d = time.getDate();var h = time.getHours();var mm = time.getMinutes();var s = time.getSeconds();return y + '-' + timeAdd0(m) + '-' + timeAdd0(d) + ' ' + timeAdd0(h) + ':' + timeAdd0(mm) + ':' + timeAdd0(s);
})

2)导入filter到src/main.js

import './filter' //直接导入即可

3)src/page/shop/rating/rating.vue 使用filter格式化时间戳

 <div class="time">{{rating.rateTime | date-format}}</div>

效果:http://localhost:8080/#/shop/rating

1469281964000 显示时间为:2016-07-23 21:52:44

此外还可用现成的库来格式化时间戳

moment(大) 或 date-fns(小)

// import moment from 'moment'
// import {format} from 'date-fns'
import format from 'date-fns/format'
import Vue from 'vue'
Vue.filter('dateString', function (value, formatStr) {
// return moment(value).format(format || 'YYYY-MM-DD HH:mm:ss')
return format(value, formatStr || 'YYYY-MM-DD HH:mm:ss')
})

二、缓存路由组件对象

作用: 复用路由组件对象, 复用路由组件获取的后台数据
有时候我们不希望组件被重新渲染影响使用体验;或者处于性能考虑,避免多次重复渲染降低性能。而是希望组件可以缓存下来,维持当前的状态。这时候就可以用到keep-alive组件。

src/page/shop/shop.vue

在外层套个:keep-alive标签即可

		<keep-alive><router-view/></keep-alive>

三、路由后退push改replace,解决多嵌套路由页面点返回多次无法一次退出到上一个页面民

shop页面连续点多次子组件再后退时无法快速退出到首页
在这里插入图片描述

shop.vue router-link 标签加个 replace属性即可把push路由改为替换路由

<div class="tab"><!-- tab1 --><div class="tab-item"><router-link to="/shop/goods" replace>点餐</router-link></div><!-- tab2 --><div class="tab-item"><router-link to="/shop/rating" replace>评价</router-link></div><!-- tab3 --><div class="tab-item"><router-link to="/shop/info" replace>商家</router-link></div></div>

这篇关于vue外卖二十四:功能完善:时间戳格式化filter、缓存路由组件对象、路由后退push改replace,解决多嵌套路由页面点返回多次无法一次退出到上一个页面民的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/965195

相关文章

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Mysql如何解决死锁问题

《Mysql如何解决死锁问题》:本文主要介绍Mysql如何解决死锁问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录【一】mysql中锁分类和加锁情况【1】按锁的粒度分类全局锁表级锁行级锁【2】按锁的模式分类【二】加锁方式的影响因素【三】Mysql的死锁情况【1

SpringBoot内嵌Tomcat临时目录问题及解决

《SpringBoot内嵌Tomcat临时目录问题及解决》:本文主要介绍SpringBoot内嵌Tomcat临时目录问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录SprinjavascriptgBoot内嵌Tomcat临时目录问题1.背景2.方案3.代码中配置t

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

基于Python实现读取嵌套压缩包下文件的方法

《基于Python实现读取嵌套压缩包下文件的方法》工作中遇到的问题,需要用Python实现嵌套压缩包下文件读取,本文给大家介绍了详细的解决方法,并有相关的代码示例供大家参考,需要的朋友可以参考下... 目录思路完整代码代码优化思路打开外层zip压缩包并遍历文件:使用with zipfile.ZipFil

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化