<template> <router-link class="nav-link" :to="link" v-if="!isExternal(link)" :exact="exact" >{{ item.text }}</router-link> <a v-else :href="link" class="nav-link external" :target="isMailto(link) || isTel(link) ? null : '_blank'" :rel="isMailto(link) || isTel(link) ? null : 'noopener noreferrer'" > {{ item.text }} <OutboundLink/> </a> </template> <script> import { isExternal, isMailto, isTel, ensureExt } from './util' export default { props: { item: { required: true } }, computed: { link () { return ensureExt(this.item.link) }, exact () { if (this.$site.locales) { return Object.keys(this.$site.locales).some(rootLink => rootLink === this.link) } return this.link === '/' } }, methods: { isExternal, isMailto, isTel } } </script>