美文网首页
Vue-Router的属性详解-自我理解-replace和app

Vue-Router的属性详解-自我理解-replace和app

作者: Computer_计算机 | 来源:发表于2021-05-12 18:30 被阅读0次

    1.replace

    类型: boolean

    默认值: false

    设置 replace 属性的话,当点击时,会调用 router.replace() 而不是 router.push(),于是导航后不会留下 history 记录。

      <router-link :to="{ path: '/abc'}" replace></router-link>
    

    如上:API是这么描述的,说实话我其实真没大理解history,最后百度之后,然后自己尝试才明白。

    我的理解
    关键字: 导航后不会留下 history 记录。 这是啥意思啊?--我反正当时真的没反应过来。好了不废话,我来解释解释。

    场景1: 页面1——to——> 页面2 ——replace——>页面3
    (此时你点后退会回到哪个页面?——答案是:页面1)

    场景2:打开窗口 ——to——>页面1 ——replace——>页面2
    (此时你点后退会回到哪个页面?——答案是:刚刚打开窗口那个页面)

    这样你看懂了吗? replace过去的页面,后退的时候,这个过来时候的操作将不被记录在返回的历史当中,如果用户点击后退的话,就是它前一个面的后退。这就是为什么说 导航后不会留下history记录。

    2.append

    类型: boolean

    默认值: false

    设置 append 属性后,则在当前 (相对) 路径前添加基路径。例如,我们从 /a 导航到一个相对路径 b,如果没有配置 append,则路径为 /b,如果配了,则为 /a/b

      <router-link :to="{ path: 'relative/path'}" append></router-link>
    

    如上:API是这么描述的,我理解了,但是刚开始没试成功。

    我的理解
    关键字: 则在当前 (相对) 路径前添加基路径

    是这样吧,他这个:to="{ path: 'relative/path'}"写法有点迷惑性。我改改

      <router-link :to="{ path: yemian'}" append></router-link>
    

    好了我该成这样了,然后呢?注意我前面是没有加 / 斜线的。如果加了斜线会怎么样?当然是跳转路由啦~ 去了你那个/path的页面了。所以这点要注意哦。

    这里还是有两个场景

    场景1:http://localhost:8080/ (首页)下面-----append(yemian)--->?去哪里?
    (答案: 去http://localhost:8080/yemian 这个页面了 )

    场景2 :http://localhost:8080/yemian1-----append(yemian)--->?去哪里?
    (答案: 去http://localhost:8080/yemian1 /yemian 这个页面了 )

    这样是不是清晰啦?

    相关文章

      网友评论

          本文标题:Vue-Router的属性详解-自我理解-replace和app

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