Vic*_*tor 5 javascript vue.js vue-router vuejs2
在这个例子中:
const resolved = this.$router.resolve({
name: 'about'
})
console.log(resolved.route.path)
Run Code Online (Sandbox Code Playgroud)
是否可以获取包含原点的路线?就像,如果 url 是site.com/about,代码会给出/about,所以我需要自己附加 origin: window.location.origin + resolved.route.path。
Rya*_*yan 15
我一直在使用这个(使用 vue-router v4 进行测试,仅浏览器):
const route = router.resolve({ /* your route here */ });
const absoluteURL = new URL(route.href, window.location.origin).href;
Run Code Online (Sandbox Code Playgroud)
编辑:使用location.origin而不是location.href因为resolve().href已经包含base。
不,不是来自路由器。
甚至路由器的base属性也是相对于应用程序根目录的:
应用程序的基本 URL。例如,如果整个单页应用程序在 /app/ 下提供服务,则 base 应使用值“/app/”。
$route.fullPath也从应用程序根目录开始。文档将其描述为:
完整解析的 URL,包括查询和哈希。