VueJS :href 将外部链接解释为内部链接

VueJS :href interprets external links as internal links

我正在使用 VueJS 和 Vuetify。当使用 :href 将 link 传递给锚点时,它会将其解释为外部 link。例如: www.example.com 将我带到 localhost/www.example.com,但 https://www.example.com 将我带到 www.example.com

这是我的代码:

<a :href="link.link" target="_blank">
    {{ link.text }}
</a>

您需要确保您的网址是完整的而不是相对的。

如果他们缺少方案(例如 https://),他们将被解释为相对 link。

你没有在准备 links 数组的地方显示代码,所以通常你可以迭代它们来解决这个问题,或者如果你已经在代码中构建数组,你可能想要在此处添加。

let linksArr = //...
for (const linkObj of linksArr) {
 linkObj.link = linkObj.link.startsWith('http://') || linkObj.link.startsWith('https://') ?
    linkObj.link : `https://${linkObj.link}`;
}

// or

linksArr = linksArr.map((linkObj) => {
  return {
    ...linkObj,
    link: linkObj.link.startsWith('http://') || linkObj.link.startsWith('https://') ?
      linkObj.link : `https://${linkObj.link}`
  };
});