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

```


相关文章
|
3天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
3天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
|
3天前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
|
JavaScript
|
4天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
4天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
4天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
|
5天前
|
存储 JavaScript 开发者
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
|
5天前
|
存储 JavaScript
Vue 组件间如何通信
Vue组件间通信是指在Vue应用中,不同组件之间传递数据和事件的方法。常用的方式有:props、自定义事件、$emit、$attrs、$refs、provide/inject、Vuex等。掌握这些方法可以实现父子组件、兄弟组件及跨级组件间的高效通信。
|
10天前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发