原生JS实现并封装前端路由

本文介绍如何使用原生JavaScript实现前端路由,通过监听a标签点击和hashchange事件,结合iframe实现页面动态加载。文章提供了详细步骤和注意事项,包括事件绑定、URL锚点处理、目标容器管理和首页默认加载。
摘要由CSDN通过智能技术生成

目前,前端中所有的MVVM框架中基本都有自己的Router组件,比如React-router或者Vue-router,主要的作用就是通过拦截url来返回相应的组件。如果我们通过原生js来实现一个类似的router,应该怎么做呢?本文将提供一个思路和完整demo,以解释其中的原理。


一.效果图

在这里插入图片描述

二.代码示例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="author" content="helang.love@qq.com">
    <title>前端路由</title>
    <style type="text/css">
        .router_box,
        #router-view {
   
            padding: 0 20px;
            background-color: gainsboro;
            height: 55px;
            line-height: 50px;
        }

        .router_box>a {
   
            padding: 0 10px;
            color: #364086;
        }

        .content{
   
            border: 1px solid #a030b3;
        }
    </style>
</head>

<body>
    <div class="router_box">
        <a href="/home" class="router">主页</a>
        <a href="/sort" class="router">分类</a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值