require模块管理 通过hashchange事件 模拟Vue中的路由

26 篇文章 0 订阅
22 篇文章 0 订阅

Route.js

define([],function () {
    function Route(option) {
        this.routes = option.routes;
        this.init();
    }
    Route.prototype = {
        constructor:Route,
        init(){
            let _that = this;
            window.addEventListener("hashchange",function () {
                let hash = location.hash.substring(1)
               let route= _that.routes.find(item=>{
                    return item.path == hash;
                })
                if (route) {

                    route.component();
                }
            })
        }
    }
    return Route;
})

 

 route.js

define(['Router','salesman/Salesman','salesman/addsalesman'],function (Route,Salesman,Addsalesman) {
    let route = new Route({
        routes:[
            {
            path:'/salesman',
            component:Salesman
             },
            {
                path:'/salesman/addsalesman',
                component:Addsalesman
            }
        ]
    })
})

app.js

require.config({
    baseUrl:'js',
    paths:{
        jquery:"lib/jquery-3.3.1",
        service:"../service"
    }
})

require(["jquery",'route'],function ($,route) {


})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值