UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

53 lines (49 loc) 1.67 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); /** * 路由离开前记住缓存,返回后不刷新页面 * * 比如创建赛事页面,如果前往查看规则,返回后,希望保留之前的表单 * * 注意,用了这个 mixin,就不要用 onShow 了,而是用 mounted, * 否则可能会重复触发刷新 * * @param {string} config.refresh 刷新方法 * @returns 返回对象,包含 beforeRouteLeave 和 activated 方法 */ function getRouteLeaveCache(_a) { var refresh = _a.refresh; var randomKey = ''; var RANDOM_KEY = 'RANDOM_KEY_CREATE'; return { // beforeRouteLeave(to: { name: string }, from: any, next: Function) { // if (cacheRoutes.includes(to.name)) { // randomKey = `${Math.random() * 10000000}`; // localStorage.setItem(RANDOM_KEY, randomKey); // } else { // localStorage.setItem(RANDOM_KEY, ''); // } // next(); // }, activated: function activated() { var _a; var localRandomKey = localStorage.getItem(RANDOM_KEY); localStorage.setItem(RANDOM_KEY, ''); var useCache = localRandomKey && localRandomKey == randomKey; if (!useCache && refresh) { // @ts-ignore (_a = this[refresh]) === null || _a === void 0 ? void 0 : _a.call(this); } }, mounted: function mounted() { localStorage.setItem(RANDOM_KEY, ''); }, methods: { _jumpToCacheRoute: function _jumpToCacheRoute() { randomKey = "".concat(Math.random() * 10000000); localStorage.setItem(RANDOM_KEY, randomKey); } } }; } exports.getRouteLeaveCache = getRouteLeaveCache;