From 8530cd8cc20fd5d51e3621a6441be6ce927e2134 Mon Sep 17 00:00:00 2001 From: jzfai <869653722@qq.com> Date: Fri, 31 Dec 2021 13:47:43 +0800 Subject: [PATCH] change mixin to hooks --- src/hooks/useCommon.js | 35 ++++++++++++++++++++ src/hooks/useRouter.js | 18 +++++----- src/main.js | 1 - src/views/example/keep-alive/RouterDemoF.vue | 8 ++--- src/views/example/keep-alive/RouterDemoS.vue | 8 ++--- 5 files changed, 50 insertions(+), 20 deletions(-) create mode 100644 src/hooks/useCommon.js diff --git a/src/hooks/useCommon.js b/src/hooks/useCommon.js new file mode 100644 index 0000000..909ea74 --- /dev/null +++ b/src/hooks/useCommon.js @@ -0,0 +1,35 @@ +import { reactive, toRefs } from 'vue' +import momentMini from 'moment-mini' +let hooksFunc = function () { + //data + let state = reactive({ + //time relative + todayTimeMixin: null, + currentTimeMixin: null, + todayTimeLastMixin: null, + yesterdayTimeMixin: null, + beforeThreeDateTimeMixin: null + }) + + //create + state.todayTimeMixin = momentMini().startOf('day').format('YYYY-MM-DD HH:mm:ss') + state.currentTimeMixin = momentMini(new Date()).format('YYYY-MM-DD HH:mm:ss') + state.todayTimeLastMixin = momentMini().endOf('day').format('YYYY-MM-DD HH:mm:ss') + state.beforeThreeDateTimeMixin = momentMini().add(-3, 'days').format('YYYY-MM-DD HH:mm:ss') + state.yesterdayTimeMixin = momentMini().add(-1, 'days').format('YYYY-MM-DD HH:mm:ss') + + //function + const sleepMixin = (time) => { + return new Promise((resolve) => { + const timer = setTimeout(() => { + clearTimeout(timer) + resolve() + }, time) + }) + } + return { + sleepMixin, + state + } +} +export default hooksFunc() diff --git a/src/hooks/useRouter.js b/src/hooks/useRouter.js index 5e5a868..bf0ccab 100644 --- a/src/hooks/useRouter.js +++ b/src/hooks/useRouter.js @@ -1,14 +1,13 @@ -import { reactive } from 'vue' +import { reactive, toRefs } from 'vue' import router from '@/router' let hooksFunc = function () { const route = router.currentRoute - let state = reactive({ - queryParamsMixin: null - }) - if (route?.query?.params) { - state.queryParamsMixin = JSON.parse(route.query.params) + const getQueryParam = () => { + if (route.value.query.params) { + return JSON.parse(route.value.query.params) + } } - // vue routerč·³č½¬ + // vue router const routerPushMixin = (name, params) => { let data = {} if (params) { @@ -40,12 +39,13 @@ let hooksFunc = function () { const routerBackMixin = () => { router.go(-1) } - return { routerPushMixin, routerReplaceMixin, routerBackMixin, - ...state + getQueryParam } } + +// hooksFunc() not direct use the mounted , but hooksFunc can use export default hooksFunc() diff --git a/src/main.js b/src/main.js index 5538ecb..93fe9f1 100644 --- a/src/main.js +++ b/src/main.js @@ -12,7 +12,6 @@ app.use(Vant) //part import by you need // import vantUtils from '@/utils/vantUtils' // app.use(vantUtils) - //import router app.use(router) import router from './router' diff --git a/src/views/example/keep-alive/RouterDemoF.vue b/src/views/example/keep-alive/RouterDemoF.vue index 937bc1d..cfde59a 100644 --- a/src/views/example/keep-alive/RouterDemoF.vue +++ b/src/views/example/keep-alive/RouterDemoF.vue @@ -14,13 +14,9 @@