The first time 造轮子

171 阅读1分钟

感悟

最近发现,在学习的过程中,好多东西都是浮于表面,只知道有这东西,但是却不会用,只知其表不知其里,停留在知道的层面,意识到这样下去不行,好多东西还是要实践一下才行,知道的东西下次再用会用这才算学会。

学习vue-router之后的造轮子

    <div id="app">
        <a href="#">home</a>
        <a href="#/foo">foo</a>
        <a href="#/bar">bar</a>
        <div id="router-view">

        </div>
    </div>
 var router = new Router({
        id: "router-view",
        mode: hash,
        routes: [
            {
                path: '/',
                name: home,
                component: '<div>home</div>',
                beforeEnter: (next) => {
                    console.log("before Enter home")
                    next()
                },
                afterEnter:(next) => {
                    console.log('after Enter home')
                    next()
                },
                beforeUpdate:(next) => {
                    console.log("before Update home")
                    next()
                    
                },
                afterUpdate:(next)=>{
                    console.log('after Update home')
                    next()
                },
                beforeLeave: (next)=> {
                    console.log('before Leave home')
                    next()
                },
              
                
            },
            {
                path: '/foo',
                name: foo,
                component: '<div>foo</div>'

            },
            {
                path: '/bar',
                name: bar,
                component: '<div>bar</div>',
                beforeEnter: (next) => {
                    console.log("before Enter bar")
                    next()
                },
                afterEnter:(next) => {
                    console.log('after Enter bar')
                    next()
                },
                beforeUpdate:(next) => {
                    console.log("before Update bar")
                    next()
                    
                },
                afterUpdate:(next)=>{
                    console.log('after Update bar')
                    next()
                },
                beforeLeave: (next)=> {
                    console.log('before Leave bar')
                    next()
                },
              

            }
        ]
    })
    setTimeout(() => {
        router.push({name: 'bar' ,query: {name:'bar'}})
        console.log(router.route)
        
    }, 1000);