Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 附加相同URL的Vue路由器_Vue.js_Vue Router - Fatal编程技术网

Vue.js 附加相同URL的Vue路由器

Vue.js 附加相同URL的Vue路由器,vue.js,vue-router,Vue.js,Vue Router,每当我尝试使用简单的 <router-link to="https://google.com"> Google </router-link> 我没有.env文件。每当我创建.env并添加基本URL时=http://localhost:8080它呈现http://localhost:8080/http:/localhost:8080/https:/google.com 有没有人经历过这个问题 更新 上面的例子反映了外部网站,但内部链接也是如此。例如: <ro

每当我尝试使用简单的

<router-link to="https://google.com">
    Google
</router-link>
我没有
.env
文件。每当我创建
.env
并添加
基本URL时=http://localhost:8080
它呈现
http://localhost:8080/http:/localhost:8080/https:/google.com

有没有人经历过这个问题

更新 上面的例子反映了外部网站,但内部链接也是如此。例如:

<router-link avatar :to="{name: 'author', params: {id: author.id, name: author.name}}"> foo </router-link>

几天前一切正常,但一定是我添加了一些东西改变了这种行为。我到处都找过了,但似乎找不到哪里出了问题。

是的,对外部链接使用普通的
a href标记。Vue路由器和路由器链接主要用于实例资源。

是的,对外部链接使用普通的
a href标记。Vue路由器和路由器链接主要用于实例资源。

此问题可能来自您的路由器。我猜
process.env.BASE\uURL
应该是
http://localhost:8080
。我遇到了类似的问题,然后我来到了这里。不幸的是,@screll的上述步骤并没有解决我的问题。我所做的是更改baseUrl

将路由器中的baseUrl更改为“/”而不是
http://localhost:8080

为清楚起见,这些步骤取决于项目设置,
vue/cli或webpack设置

// .env file
BASE_URL=/
# or VUE_APP_BASE_URL=/
然后,路由器

// NB: The BASE_URL is '/'

export default new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  // or base: process.env.VUE_APP_BASE_URL,
  routes
)}

此问题可能来自您的路由器。我猜
process.env.BASE\uURL
应该是
http://localhost:8080
。我遇到了类似的问题,然后我来到了这里。不幸的是,@screll的上述步骤并没有解决我的问题。我所做的是更改baseUrl

将路由器中的baseUrl更改为“/”而不是
http://localhost:8080

为清楚起见,这些步骤取决于项目设置,
vue/cli或webpack设置

// .env file
BASE_URL=/
# or VUE_APP_BASE_URL=/
然后,路由器

// NB: The BASE_URL is '/'

export default new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  // or base: process.env.VUE_APP_BASE_URL,
  routes
)}
不要忘了在路线中加“/”。因此,它只会更改url的最后一段

没有“/”

带“/”

不要忘记在路线中添加“/”。因此,它只会更改url的最后一段

没有“/”

带“/”


可能的重复不是重复的。我更新了答案,以反映它不是一个dup@Charlie您需要使用
作者
路线的路线定义更新问题,然后在浏览器中为
作者
路线生成的URL。是不是有点像
http://localhost:8080/{name:'author',params:{id:author.id,name:author.name}
?@ceejayoz作者的路线是:在
router.js中定义
base:undefined
解决了可能重复的问题,它不是重复的。我更新了答案,以反映它不是一个dup@Charlie您需要使用
作者
路线的路线定义更新问题,然后在浏览器中为
作者
路线生成的URL。是不是有点像
http://localhost:8080/{name:'author',参数:{id:author.id,name:author.name}
?@ceejayoz作者的路线是:定义
base:undefined
at
router.js
解决了这个问题,我更新了答案,因为内部links@Charlie确保内部链接使用的是
:to
,而不是
to
。我更新了答案,因为这种情况也发生在内部的links@Charlie确保内部链接使用的是
:to
,而不是
to