美文网首页
express router和Vue router

express router和Vue router

作者: 自由落体_4deb | 来源:发表于2018-04-21 19:26 被阅读0次

    1、express的router是属于后端的,Vue的router是属于前端的
    2、服务端渲染时,express的router把数据和模板传给模板引擎的;客户端渲染时,通过路由去获得静态页面,浏览器发送http请求向服务端获取数据,Vue router是不需要传数据的。

    3、express的middleware可以检测有没有登录,有没有输入正确的密码,跟Vue router里面的导航守卫有点类似
    Middleware functions allow you to take action on any incoming request and modify it before sending back a response.

    app.use( function(req, res, next) {
      var shirt = req.shirt
      if (shirt) {
        next()
      }
    })
    
    router.beforeEach((to, from, next) => {
      // ...
    })
    

    express router和Vue router里面都有重定向,原来是http就有规定redirect,http状态码是以300开头的,默认是302,重定向也分为3种

    1. permanent
    2. temporary
    3. special

    每一种都对于不同的状态码
    JavaScript中的window.location=""也表示重定向
    the router routes you to a route

    Vue router里面的导航守卫

    1. 全局守卫
      1. beforeEach 一定要写next
      2. beforeResolve
      3. afterEach 是没有next参数的
    2. 路由独享
      1. beforeEnter 参数和beforeEach一样
    3. 在组件中的守卫
      1. beforeRouteEnter
        // 它是不能访问该组件的实例,但是可以在next中处理回调,把组件实例vm当做参数传到回调函数里面去,就可以访问组件实例了
      2. beforeRouteUpdate
        // 可以访问组件实例,next不可以传回调函数
      3. beforeRouteLeave
        // 可以访问组件实例,next不可以传回调函数

    要理解导航守卫(navigation guards),导航表示路由正在发生变化,守卫有很多钩子函数

    window.location.hash,表示散列,是以#开头的,#后面的值对于ajax很有帮助

    相关文章

      网友评论

          本文标题:express router和Vue router

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