| 123456789101112131415161718192021222324252627282930313233343536 | 
							
- <template>
 
-   <!-- eslint-disable vue/require-component-is -->
 
-   <component v-bind="linkProps(to)">
 
-     <slot />
 
-   </component>
 
- </template>
 
- <script>
 
- import { isExternal } from '@/utils/validate'
 
- export default {
 
-   props: {
 
-     to: {
 
-       type: String,
 
-       required: true
 
-     }
 
-   },
 
-   methods: {
 
-     linkProps(url) {
 
-       if (isExternal(url)) {
 
-         return {
 
-           is: 'a',
 
-           href: url,
 
-           target: '_blank',
 
-           rel: 'noopener'
 
-         }
 
-       }
 
-       return {
 
-         is: 'router-link',
 
-         to: url
 
-       }
 
-     }
 
-   }
 
- }
 
- </script>
 
 
  |