Vue Router 学习 router-view基础 以及 routes配置

简介: Vue Router 学习 router-view基础 以及 routes配置

App.vue:

```


<!-- 
  router-view 是 vue-router 库的指定刷新区域,调用 vue-router 中定义的路径只会在 router-view 身上进行刷新,其他区域不会变动。
  所以也就可以根据需求不同去做成全屏刷新还是局部区域刷新。
-->
<!-- 使用组件 -->
<!-- <todo></todo> -->
<!-- router-view 展示 vue-router 路由内容 -->
<!-- <router-view /> -->
<!-- router-view 过渡动画 -->
<transition name="fade">
  <router-view />
</transition>
<!-- router-link 跳转 -->
<!-- 路径跳转 -->
<router-link to="/todo">跳转Todo</router-link><br />
<router-link to="/login">跳转Login</router-link><br />
<!-- 名称跳转 -->
<router-link :to="{name: 'todo'}">跳转Todo Name</router-link><br />
<!-- 路径添加 exact 解释:https://www.jianshu.com/p/860c77649ba9 -->
<router-link to="/login/exact">跳转Login Exact</router-link>
<!-- router-view 嵌套使用  -->
<!-- <div style="background-color: green; width: 500px; height: 500px;">
  <div style="background-color: red; width: 100px; height: 100px;">
    <router-view style="overflow: hidden;" />
  </div>
</div> -->


```


routes.js:

``` import Todo from '../views/todo.vue' import Login from '../views/login.vue'


export default [ { // 主路径 path: '/',


// 重定向路径(相当于调用 '/' 主路径 会自动调用到重定向路径)
redirect: '/login'

}, { // 路径 path: '/todo',


// 指定组件
component: Todo,
// 名称(名字可以随便起)
// 可以不通过路径跳转,通过名称去进行跳转
name: 'todo',
// 页面数据信息
meta: { 
  title: '这是 Todo 页面',
  description: '这是 Todo 页面描述'
},
// 当前路径下的子路径,子路径的使用方法是这样的:
// 既然子路径是在 /todo 这个路径下的 Todo 组件里面添加的,那么也就只能在这个组件里面添加一个 <router-view />
// 在 Todo 这个组件里面添加了 <router-view /> 之后,在去访问 http://localhost:8080/todo/test 的时候
// Todo 里面的 <router-view /> 这个位置就会刷新展示 Login 组件
children: [
  {
    path: 'test',
    component: Login
  }
]


}, { // 路径传参 path: '/todo/:id',


// 指定组件
component: Todo,
// props 设置为 true
// 则在组件 Todo 中直接使用 props: ['id'], 则可以直接接收路径中传入的参数 id,就不需要通过 this.$route 这种方式去获取传参了
props: true,
// props 也可以自己自定义传入的参数
// props: {
//   id: '123'
// },
// props 也可以通过根据传入的 query 进行传递也可以写成这样
// 例如链接: http://localhost:8080/todo/123?a=dzm&b=xyq
// props: (route) => ({
//   id: route.query.a // dzm
// }),
// 页面数据信息
meta: { 
  title: '这是 Todo 页面',
  description: '这是 Todo 页面描述'
}


}, { path: '/login', component: Login, name: 'login' }, { // 路径添加 exact 解释:https://www.jianshu.com/p/860c77649ba9 path: '/login/exact',


// 指定组件
component: Login

} ] ```


todo.vue:

```


这里是TodoTodoTodoTodoTodoTodo

```


相关文章
|
4月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
400 2
|
3月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
361 137
|
6月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
341 0
|
JavaScript
|
7月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
889 0
|
9月前
|
JavaScript
vue实现任务周期cron表达式选择组件
vue实现任务周期cron表达式选择组件
1168 4
|
7月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
8月前
|
JavaScript 数据可视化 前端开发
基于 Vue 与 D3 的可拖拽拓扑图技术方案及应用案例解析
本文介绍了基于Vue和D3实现可拖拽拓扑图的技术方案与应用实例。通过Vue构建用户界面和交互逻辑,结合D3强大的数据可视化能力,实现了力导向布局、节点拖拽、交互事件等功能。文章详细讲解了数据模型设计、拖拽功能实现、组件封装及高级扩展(如节点类型定制、连接样式优化等),并提供了性能优化方案以应对大数据量场景。最终,展示了基础网络拓扑、实时更新拓扑等应用实例,为开发者提供了一套完整的实现思路和实践经验。
1093 78
|
9月前
|
缓存 JavaScript 前端开发
Vue 基础语法介绍
Vue 基础语法介绍
|
6月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
521 1

热门文章

最新文章