Vue路由跳转原理(哈希模式)

概述

哈希模式(利用`hashchange` 事件监听 url的hash 的改变)

```

window.addEventListener('hashchange', function(e) {

  console.log(e)

})

```

核心是锚点值的改变,我们监听到锚点值改变了就去局部改变页面数据,不做跳转。跟传统开发模式url改变后 立刻发起请求,响应整个页面,渲染整个页面比路由的跳转用户体验更好

代码

<!DOCTYPE html>

<html>

<head>

    <title></title>

</head>

<body>

    <a href="#/login">登录</a>

    <a href="#/register">注册</a>

    <div id="app"></div>

    <script type="text/javascript">

       var appdiv=document.getElementById('app')

       window.addEventListener('hashchange', function(e) {

             console.log(location.hash)

             switch(location.hash){

               case '#/login':

               appdiv.innerHTML='我是登录页面';

               break;

               case '#/register':

               appdiv.innerHTML='我是注册页面';

               break;

             }

           })

    </script>

</body>

</html>

 

运行效果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值