From 3c4fee1db116c11d4f04727cfe076d7c94daeaf2 Mon Sep 17 00:00:00 2001 From: yanzhaofeige <yanzhaofeige@qq.com> Date: Mon, 30 Sep 2024 12:10:57 +0800 Subject: [PATCH] init --- cpzidc-ui/src/layout/components/Sidebar/Link.vue | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/cpzidc-ui/src/layout/components/Sidebar/Link.vue b/cpzidc-ui/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..8b0bc93 --- /dev/null +++ b/cpzidc-ui/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,43 @@ +<template> + <component :is="type" v-bind="linkProps(to)"> + <slot /> + </component> +</template> + +<script> +import { isExternal } from '@/utils/validate' + +export default { + props: { + to: { + type: [String, Object], + required: true + } + }, + computed: { + isExternal() { + return isExternal(this.to) + }, + type() { + if (this.isExternal) { + return 'a' + } + return 'router-link' + } + }, + methods: { + linkProps(to) { + if (this.isExternal) { + return { + href: to, + target: '_blank', + rel: 'noopener' + } + } + return { + to: to + } + } + } +} +</script> -- Gitblit v1.9.3