• vue学习之vuerouter入门


    单页面应用的路由原理:

    单页面应用的整个项目只存在一个HTML文件,页面的切换 本质上 是 组件的切换

    所以,路由的作用是将组件与相应的URL路径相对应

    因为是单页面应用,所以,跳转页面时,既要让URL发生变化,又不能重新加载项目的HTML文件

    hash模式:

    利用web网页的锚点技术,在原有URL路径后添加【 /#/"随便什么名字"】

    页面通过监听hash值的变化,切换显示不同的组件

    history模式:

    也是通过重写URL来实现路径与当前组件相匹配,但是,重写后的路径不包括原有HTML文件的访问地址,所以,一旦切换了组件,再刷新,就会出现404!

    发布到生产服务器后,需要后台配合重写路径

    vue-router:vue的官方路由解决方案,轻松实现vue中的组件切换!

    vue-router  3.x   对应  vue2

    vue-router  4.x   对应  vue3

    1、新建  router.js

    import { createRouter, createWebHashHistory } from "vue-router";
    
    import Home from "./MyHome.vue";
    import About from "./MyAbout.vue";
    import Movie from "./MyMovie.vue";
    
    const router = createRouter({
      history: createWebHashHistory(), //使用hash路由模式
      routes: [
        {
          path: "/home",
          component: Home,
        },
        {
          path: "/movie",
          component: Movie,
        },
        {
          path: "/about",
          component: About,
        },
      ],
    });
    
    export default router;
    

    2、在 main.js 中引入模块并挂载

    import { createApp } from "vue";
    import App from "./router/App.vue";
    import router from "./router/router.js"; //引入路由模块
    
    const app = createApp(App);
    app.use(router); //挂载路由模块
    app.mount("#app");
    

    3、<router-link> 路由链接、<router-view> 路由占位符

    <template>
    
      <h1>路由vue-router</h1>
      <!-- 路由链接 -->
      <router-link to="/home">首页</router-link>  
      <router-link to="/movie">电影</router-link> 
      <router-link to="/about">关于</router-link>
      <hr />
      <!-- 路由占位符 -->
      <router-view></router-view>
    
    </template>

  • 相关阅读:
    c# Action,Func,Predicate委托
    c# 匿名方法
    IIS网站无法启动,提示 另一个程序正在使用此文件
    c# Http下载
    mciSendString详解(转)
    【NOIP2006PJ】数列(sequence)题解
    2020.04.29【NOIP普及组】模拟赛C组30总结
    【USACO 2019 December Silver】Milk Visits题解
    【USACO 2019 February Bronze】Measuring Traffic 题解
    【USACO 2019 February Bronze】Measuring Traffic 题解
  • 原文地址:https://www.cnblogs.com/zhaoyingzhen/p/16595665.html
Copyright © 2020-2023  润新知