Vue2.0——路由

路由

1、概念:
  • SPA

    SPA 是一种特殊的 Web 应用,是加载单个 HTML 页面并在用户与应用程序交互时动态更新该页面的。它将所有的活动局限于一个 Web 页面中,仅在该 Web 页面初始化时加载相应的 HTML 、 JavaScript 、 CSS 。一旦页面加载完成, SPA 不会因为用户的操作而进行页面的重新加载或跳转,而是利用 JavaScript 动态的变换 HTML(采用的是 div 切换显示和隐藏),从而实现UI与用户的交互。在 SPA 应用中,应用加载之后就不会再有整页刷新。相反,展示逻辑预先加载,并有赖于内容Region(区域)中的视图切换来展示内容。

  • 后端路由:对于前端的网络请求,不同的pathname,去执行后端的不同业务
    前端路由:不同的网址对应各自的页面
    vue的前端路由:SPA应用要做出路由效果,就得判断当前网址,然后切换组件
    vue-router就是专门做切换组件的功能,它是一个单独的技术,依赖vue
    就像jQuery和dom操作一样

2、前端路由的工作方式:
  1. 用户点击了页面上的路由链接;
  2. 导致了URL地址栏中的Hash值发生了变化;
  3. 前端路由键听到了Hash地址的变化;
  4. 前端路由把当前Hash地址对应的组件渲染到浏览器中。
3、环境配置

1、最常用的方法:

cli安装,不会出错

  • vue create init 回车之后,
  • 按空格键选择router然后回车,官方直接搭建路由。

2、npm 下载引入使用 (不推荐,打包之后容易出问题)

  • npm i vue-router --save或者 npm i vue-router --S

  • 在main.js入口文件中引入

     import Vue from "vue"
     import VueRouter from "vue-router"//引入路由工具
     import App from "./App.vue"
     Vue.use(VueRouter)//注入路由,就是运行路由的相关函数和给vue绑定东西:比如$router
     
     //创建路由工具
     const router=new VueRouter({
         
    	 //routes路由器 生成很多网址对应的切换组件
    	 routes:[{
         path:"/home",component:()=>import("./home.vue")},
                 {
         path:"/about",component:()=>import("./about.vue")}]
     })
     new Vue({
         
    	 router,//把路由挂载到页面
    	 render(h){
         return h(App)}
     }).$mount("#app")
    
  • 在App.vue中写

     <router-view></router-view>
    
4、基本用法
5、(路由导航)跳转页面的几种方法

1、声明式导航:在浏览器中,点击链接实现导航的方式。

  • router-view:相当于占位符, 路由网址匹配到的组件 会渲染到当前组件的这个标签上

    //app.vue中占位
    <router-view></router-view>
    <a href="/home">首页</a>
    <a href="/pengyou">朋友</a>
    <a href="/pengyouquan">朋友圈</a>
    <a href="/shezhi">设置</a>
    
    
    //router/index.js中
    //先导入要展示的组件
    import Home from '@/components/Home.vue'
    const router=new VueRouter({
         
    	{
         path:'/home',component:Home},
                               
    })
    
  • router-link:相当于a标签,给我们提供跳转到某个路由的功能,如果没有匹配到路由就会跳转失败,只是局部刷新,比a链接跳转更优化:

    //app.vue
    <router-view></router-view>  //占位显示组件
    
    <router-link to="/home">首页</router-link>
    <router-link to="/pengyou">朋友</router-link>
    <router-link to=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值