<div id="app"> <router-link to="/">Home</router-link> | <router-link to="/about">About</router-link> <!-- 路由出口 --> <router-view></router-view> </div>
时间: 2025-05-20 12:47:49 浏览: 25
### Vue.js 中 `router-link` 和 `router-view` 的用法
#### 基本概念
在 Vue.js 路由系统中,`<router-link>` 是用于定义导航链接的组件,而 `<router-view>` 则是一个占位符,用来渲染匹配到的路由对应的组件。
#### 使用示例
以下是关于如何使用 `<router-link>` 和 `<router-view>` 的简单例子:
```javascript
// main.js 文件配置
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
const Home = { template: '<div>Home</div>' };
const About = { template: '<div>About</div>' };
const router = new Router({
routes: [
{ path: '/', component: Home },
{ path: '/about', component: About }
]
});
new Vue({
el: '#app',
router,
});
```
```html
<!-- HTML 结构 -->
<div id="app">
<!-- 定义导航链接 -->
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
<!-- 渲染匹配到的路由组件 -->
<router-view></router-view>
</div>
```
在这个例子中:
- `<router-link>` 组件通过其属性 `to` 来指定目标路径。点击该链接会触发页面跳转至对应的目标地址[^1]。
- `<router-view>` 是一个特殊的组件,它会根据当前路由的状态动态加载并显示相应的组件[^2]。
#### 高级功能
##### 动态参数传递
可以利用动态路由来实现更复杂的场景。例如,在 URL 中加入变量作为参数:
```javascript
const User = {
template: '<div>User ID: {{ $route.params.id }}</div>'
};
const router = new Router({
routes: [
{ path: '/user/:id', component: User }
]
});
```
在此情况下,访问 `/user/123` 将会在模板中展示 `User ID: 123`[^3]。
##### 编程式导航
除了使用 `<router-link>` 实现声明式的导航外,还可以借助 JavaScript 方法完成编程式导航操作:
```javascript
this.$router.push('/about');
```
此方法允许开发者更加灵活地控制应用内的状态流转[^1]。
---
###
阅读全文