vue router-link页面跳转并刷新跳转页面
时间: 2023-07-26 10:09:44 浏览: 139
在 Vue 中使用 `vue-router` 跳转页面时,默认情况下是不会刷新页面的。如果需要在跳转页面时刷新页面,可以使用以下方法:
1. 利用 `key` 属性强制组件重新渲染:在 `router-link` 标签上添加 `:key="$route.fullPath"` 属性,这样在路由发生变化时,组件会重新渲染,从而达到刷新页面的效果。
```
<router-link :to="{ path: '/example' }" :key="$route.fullPath">跳转到 Example 页面</router-link>
```
2. 利用 `watch` 监听 `$route` 对象的变化:在组件内部添加以下代码,当 `$route` 对象发生变化时,执行 `window.location.reload()` 方法刷新页面。
```
watch: {
$route: function() {
window.location.reload();
}
}
```
以上两种方法都可以实现页面跳转并刷新跳转页面的效果,具体使用哪种方法,可以根据具体场景选择。
相关问题
vue router-link 页面跳转 传参 取参
好的,针对你的问题,我来简单回答一下。
在 Vue.js 中,我们使用 Vue Router 来进行路由管理和页面跳转。其中,`router-link` 是 Vue Router 提供的一个组件,用于生成页面内导航链接。
如果你需要在路由跳转时传递参数,可以使用 Vue Router 提供的路由参数传递功能。具体步骤如下:
1. 在定义路由时,可以通过 `props` 属性将参数传递给组件。例如:
```js
const router = new VueRouter({
routes: [
{
path: '/user/:id',
component: User,
props: true
}
]
})
```
2. 在页面中使用 `router-link` 组件时,可以通过 `to` 属性指定跳转的路径,并通过 `:to` 绑定一个对象,该对象中包含要传递的参数。例如:
```html
<router-link :to="{ path: '/user', params: { id: 123 }}">User</router-link>
```
3. 在组件中通过 `this.$route.params` 可以获取到传递的参数。例如:
```js
export default {
props: {
id: {
required: true,
type: Number
}
},
created() {
console.log(this.$route.params.id) // 输出 123
}
}
```
当然,还有其他方式来传递参数,这里只是其中的一种。希望这个回答能够帮到你。
vue router-link跳转打开新页面
在Vue中,如果你想要使用router-link来跳转并打开一个新页面,你可以使用以下方法。
1. 使用router-link指令进行跳转。然而,需要注意的是,在Vue 2.0版本之后,官方文档中已经说明了v-link指令被<router-link>组件指令替代,并且<router-link>组件不支持target="_blank"属性。所以你不能直接在<router-link>上设置target="_blank"来实现新页面打开 。
2. 使用编程式导航。在某些情况下,你可能需要在单击事件或函数中进行页面跳转。你可以借助router的示例方法来实现。常用的方法是通过this.$router.push和this.$router.go来进行页面跳转。然而需要注意的是,在Vue 2.0版本之后,这种方式也不再支持新页面打开的属性。相反,你可以使用this.$router.resolve方法来生成目标路由的URL,并使用window.open来打开新页面。以下是一个示例代码:
```javascript
seeShare() {
let routeUrl = this.$router.resolve({ path: "/share", query: {id:96} });
window.open(routeUrl.href, '_blank');
}
```
以上就是在Vue中使用router-link跳转并打开新页面的方法。你可以根据你的具体需求选择合适的方法来实现页面跳转。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [vue-router跳转时打开新页面的两种方法](https://download.csdn.net/download/weixin_38592332/13586213)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [vue router 跳转时打开新页面的示例方法](https://download.csdn.net/download/weixin_38678498/13979866)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [在vue项目中如何实现跳转到一个新页面](https://blog.csdn.net/qq_38637619/article/details/119669019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]