Vue路由

路由概念

  1. 理解: 一个路由(route)就是一组映射关系(key-value),多个路由需要路由器(router)进行管理
  2. 作用:设定访问路径,并将路径和组件映射起来(就是用于局部刷新页面,不需要请求服务器来切换页面)

配置

  1. 安装vue-router 全局配置 ,命令: npm i vue-router
  2. 或者使用cdn
    <script src="https://unpkg.com/vue-router@3.0.0/dist/vue-router.js"></script>

路由的使用

  1. 由路由管理的地方 a标签转换成 router-link 标签 href=“相对路径” 变成 to=“路由路径”
  2. 要显示组件的地方需要用到 router-view占位
 <body>
    <div id="app">
      <router-view></router-view>
    </div>
    <template id="index">
      <div>
        首页
          <!-- a标签在路由器中被router-link取代 -->
          <!-- 使用路由提供的标签 点击跳转到/about路径 显示哪个组件在路由中配置好-->
          <!-- active-class 点击时激活类名 -->
 <!-- 这里存放由路由分配 这里放显示的组件类似于slot-->
            <!-- 显示的组件会替换掉router-view -->

        <router-link to="/detail">去详情</router-link>
        <button @click="todetail">去详情页函数式跳转</button>
      </div>
    </template>
    <template id="detail">
      <div>详情页详情页详情页详情页</div>
    </template>
  </body>

  <script>
// 自己引入的组件  由路由管理的组件成为路由组件,通常放在pages文件夹下面
// 和普通的组件分开 而且不需要引入和注册
    let index = {
      template: "#index",
      methods: {
        todetail() {
          this.$router.push({
            path: "/detail",
            quary: {
              id: 12345,
            },
          });
        },
      },
    };
    let detail = {
      template: "#detail",
      created() {
        console.log(this);
        console.log(this.$route.query);
      },
    };
    let chid = {
      template: "#chid",
    };
    // 第二步创建router实例对象
    const router = new VueRouter({
      routes: [
        {
          path: "/",
          redirect: "/index",
        },
        {
          path: "/index",
          component: index,
        },
        {
          path: "/detail",
          component: detail,
          children: [
            {
              path: "chid",
              component: chid,
            },
          ],
        },
      ],
    });
    const vm = new Vue({
      router,
      el: "#app",
      data: {},
      methods: {},
    });
  </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值