V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hoshinokozo
V2EX  ›  Vue.js

能不能用一句话概括 Vue-Router 的导航守卫是什么?

  •  
  •   Hoshinokozo · 2019-07-18 11:36:25 +08:00 · 3734 次点击
    这是一个创建于 1974 天前的主题,其中的信息可能已经有所发展或是发生改变。
    官方文档翻译的太生硬了,我看了半天临时没看懂导航守卫是干嘛的?看起来有点像钩子函数?
    23 条回复    2019-07-19 13:12:30 +08:00
    LongMaoz
        1
    LongMaoz  
       2019-07-18 11:39:39 +08:00
    就是路由导航行为被触发时各个阶段所触发的钩子函数
    Carseason
        2
    Carseason  
       2019-07-18 11:40:43 +08:00 via iPhone
    前置守卫就是在执行路由前先执行逻辑,比如验证用户是否有权限之类的操作
    zhuweiyou
        3
    zhuweiyou  
       2019-07-18 11:42:37 +08:00
    是钩子
    Hoshinokozo
        4
    Hoshinokozo  
    OP
       2019-07-18 11:43:12 +08:00
    @LongMaoz 原来如此,感觉这个导航守卫翻译的太生硬了,让人一脸懵逼,不如直接叫钩子函数
    nihiue
        5
    nihiue  
       2019-07-18 11:43:49 +08:00 via Android   ❤️ 1
    就是钩子函数,在对应的路由行为时触发,部分钩子可以阻止 /改变此次路由行为,所以称之为守卫
    zacheryWu
        6
    zacheryWu  
       2019-07-18 13:49:34 +08:00
    个人感觉挺直观的,在执行路由之前要先通过守卫
    Zachzx
        7
    Zachzx  
       2019-07-18 14:01:53 +08:00
    拦截器
    geying
        8
    geying  
       2019-07-18 14:50:41 +08:00
    拦截器 + 1
    frankcdf
        9
    frankcdf  
       2019-07-18 14:52:11 +08:00 via Android
    拦截器
    wangxiaoaer
        10
    wangxiaoaer  
       2019-07-18 15:00:15 +08:00
    Servlet 的 filter

    Spring 的 interceptor

    expressjs 的 middleware
    pipixia
        11
    pipixia  
       2019-07-18 15:30:28 +08:00 via Android
    看门大爷
    xutao881
        12
    xutao881  
       2019-07-18 16:20:12 +08:00
    真的当初看到守卫一脸懵逼...守卫啥呀守卫,看来下原来就是钩子函数...就不能老老实实的说话么
    dengshen
        13
    dengshen  
       2019-07-18 16:24:56 +08:00
    守卫 === 保安....
    Exia
        14
    Exia  
       2019-07-18 16:26:56 +08:00
    是啊,其实就是 request 和 response 之前会触发的方法,叫拦截器感觉会通俗一点吧。
    moocean
        15
    moocean  
       2019-07-18 16:28:54 +08:00
    导弹拦截器系统
    SilentDepth
        16
    SilentDepth  
       2019-07-18 16:46:30 +08:00
    翻译真是门学问。

    Hook ——钩子
    Guard ——守卫
    Interceptor ——拦截器

    都有各自「约定俗成」的用法,借用谁的翻译都不合适,直接写原文也不太友好(这些个英文原词在中文圈不是那么常见)。

    PS: 所以理解本质才是硬道理。
    kuaner
        17
    kuaner  
       2019-07-18 16:49:40 +08:00
    楼主进地铁安检过吧,感受下
    Hoshinokozo
        18
    Hoshinokozo  
    OP
       2019-07-18 16:51:31 +08:00
    @SilentDepth 是的,不过翻译也有直译和意译的区别,我觉得比起还原原文,还是通俗易懂的翻译更加好
    userdhf
        19
    userdhf  
       2019-07-18 17:16:15 +08:00
    页面级选项卡的钩子
    cnanyi
        20
    cnanyi  
       2019-07-18 17:20:45 +08:00
    拦截器
    ydirel
        21
    ydirel  
       2019-07-19 03:22:47 +08:00
    钩子
    jss
        22
    jss  
       2019-07-19 08:53:23 +08:00 via iPhone
    门卫室的保安
    nihaoaa
        23
    nihaoaa  
       2019-07-19 13:12:30 +08:00
    说的太明白就没有那种很吊的感觉了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2177 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:05 · PVG 00:05 · LAX 08:05 · JFK 11:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.