vue学习笔记——vue-router

1.什么是前端路由?

前端路由是根据不同的URL地址显示不同的内容或页面。

2.什么时候使用前端路由?

在单页面应用时,大部分页面结构不变,只改变部分内容的时候应用。

SPA:单页web应用,就是只有一张web页面的应用,是加载单个HTML页面并在用户与应用程序交互时,动态更新的web应用程序。

3.vue前端路由——vue-router

vue-router是用来构建SPA(single page web application)的关键。

4.vue-router使用

HTML

<router-link></router-link>

JS

this.$router.push({path:' '});
5.vue-router分类:动态路由、嵌套路由、编程式路由、命名路由和命名空间

1.动态路由

export default new Router({
  routes: [
    {
      path:'detail/:detailId',
      name:'Detail',
      component:Detail
    }
  ]
})

访问http://localhost:18080/#/detail/123即可查看detailId为123的detail页面
2.嵌套路由

export default new Router({
  routes: [
    {
      path:'detail',
      name:'Detail',
      component:Detail,
      children:[
          {
            path:'text',
            name:'text',
            component:Text
          }
      ]
    }
  ]
})
<router-link to="/detail/text">显示detail详情页文本信息</router-link>
<div>
  <router-view></router-view>//router-view是一个载体,专门用来承担组件渲染,在Detail页面中定义router-view定义一个载体用来渲染
</div> 

在detail组件中,点击router-link按钮,访问http://localhost:18080/#/detail/text链接,即可查看detail的子页面text页面
3.编程式路由(通过js来实现页面跳转)

$router.push("name")
$router.push({path:"name"})
$router.push({path:"name?id=123"})
$router.push({path:"name",query:{id:123})
$router.go(1)

4.命名路由和命名空间
命名路由(给路由定义不同的名字,根据名字进行匹配)

export default new Router({
  routes: [
    {
      path:'detail:detailId',
      name:'Detail',
      component:Detail
    }
  ]
})

通过name来跳转路由

<router-link :to="{name:'Detail',params:{detailId:123}}"></router-link>

命名空间(给不同的router-view定义名字,router-link通过名字进行对应组件的渲染。)

export default new Router({
  routes: [
    {
      path: '/detail',
      name: 'Detail',
      components:{
        default:Detail,
        text:Text,
        img:Img,
      } 
     } 
  ]
})
<router-view></router-view>//渲染detail组件
<router-view name="text" ></router-view>//渲染text组件
<router-view name="img"></router-view>//渲染img组件
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 下雨了,好想把窗户全部打开… 很久都没有这样安安静静地看过下雨了。这一刻仿佛回到很多年以前,那时候还小,一下雨就被...
    夏天的嘟小嘟阅读 1,346评论 0 0
  • 2018.2.3.周六,晴(二十天) 今天是假期的第一天,源于孩子的成绩还不错,让她今天好好玩玩。...
    山中的风阅读 2,833评论 0 0
  • 一面是电话面试,周五会去公司二面,问了主要是简历的问题,不过问的比较细致:1、我在简历上写了聊天机器人的东西,我提...
    文哥的学习日记阅读 4,766评论 0 4

友情链接更多精彩内容