美文网首页
什么是路由&简单实现前端路由

什么是路由&简单实现前端路由

作者: 小黄不头秃 | 来源:发表于2023-06-08 02:16 被阅读0次

路由:是一个比较广义和抽象的概念,路由的本质就是对应关系,即:url和服务器对应资源的对应关系。

可以理解为:

  • 根据不同的用户事件显示不同的页面内容
  • 用户事件和事件处理函数的对应关系
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <a href="#/zhuye">主页</a>
        <a href="#/keji">科技</a>
        <a href="#/caijing">财经</a>
        <a href="#/yule">娱乐</a>

        <component :is="comname"></component>
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        /**
        路由:是一个比较广义和抽象的概念,路由的本质就是对应关系
        后端路由:(后端渲染,存在性能问题)
        url和服务器对应资源的对应关系

        前端路由(负责事件监听)
        根据不同的用户事件显示不同的页面内容
        用户事件和事件处理函数的对应关系
        **/ 

        // 实现简单前端路由
        /**
        基于url中的hash实现(点击菜单的时候改变url的hash,根据hash改变控制组建的切换)
        监听windows的onhashchange 事件,根据获取的最新的hash值切换显示的组件的名称
        window.onhashchange = function(){
            //
        }
        */ 
        // 定义需要被切换的4个组件
        const zhuye = {
            template:`<h1>主页信息</h1>`
        }
        const keji = {
            template:`<h1>科技信息</h1>`
        }
        const caijing = {
            template:`<h1>财经信息</h1>`
        }
        const yule = {
            template:`<h1>娱乐信息</h1>`
        }
        const vm = new Vue({
            el:"#app",
            data:{
                comname:"zhuye"
            },
            components:{
                zhuye,
                keji,
                caijing,
                yule
            }
        });

        window.onhashchange = function(){
            // 通过location.hash 获取最新的hash值
            console.log(location.hash);
            switch(location.hash){
                case '#/zhuye':
                    vm.comname = "zhuye";
                    break;
                case '#/keji':
                    vm.comname = "keji";
                    break;
                case '#/caijing':
                    vm.comname = "caijing";
                    break;
                case '#/yule':
                    vm.comname = "yule";
                    break;
            }
        }
    </script>
</body>
</html>

相关文章

  • 前端中的 hash 和 history 路由

    前端路由有有 hash 路由和 history 路由两种路由方式,他们的原理是什么,又怎样实现一个简单的路由监听呢...

  • 面试:谈谈对前端路由的理解?

    面试官想听到什么答案呢? 1、为什么会出现前端路由。 2、前端路由解决了什么问题。 3、前端路由实现的原理是什么。...

  • vue-router 源码实现前端路由的两种方式

    在学习 vue-router 的代码之前,先来简单了解一下前端路由。 前端路由主要有两种实现方法: Hash 路由...

  • vue路由

    今日目标 1.能够说出什么是路由2.能够说出前端路由的实现原理3.能够使用Vue-Router实现前端路由4.能够...

  • vue路由

    今日目标 1.能够说出什么是路由2.能够说出前端路由的实现原理3.能够使用Vue-Router实现前端路由4.能够...

  • 前端路由

    什么是前端路由 前端路由的前生今世及实现原理 先有的SPA,页面内部交互无刷新,再到页面跳转也无刷新,因此路由出现了

  • SPA 中前端路由原理与实现方式

    SPA 中前端路由原理与实现方式 通常 SPA 中前端路由有2中实现方式,本文会简单快速总结这两种方法及其实现: ...

  • react-router-dom

    一、什么是前端路由 在我看来,前端路由和网络上的路由器功能很像。前端路由也是进行分发操作,只不过其分发的是页面跳转...

  • CreateReactApp+ReactRouter4的使用

    路由基础介绍1,什么是前端路由? 路由是根据不同的 url 地址展示不同的内容或页面 前端路由就是把不同路由对应不...

  • Vue3: 前端路由的概念和原理

    1、什么是路由 路由(英文:router)就是对应关系。路由分为两大类:① 后端路由② 前端路由 2、后端路由 后...

网友评论

      本文标题:什么是路由&简单实现前端路由

      本文链接:https://www.haomeiwen.com/subject/rvlpedtx.html