zoukankan      html  css  js  c++  java
  • vue-router 实现无效路由(404)的友好提示

    最近在做一个基于vue-routerSPA,想对无效路由(404)页面做下统一处理。
    这次我真的没有在官方文档找到具体的说明[捂脸]
    所以本文仅是我DIY的一个思路,求轻虐=_=

    在我的理解中,vue-router是根据path去匹配注册的route,匹配到则加载对应的组件,匹配不到则重置(或者说清空)对应的router-view
    所以,我们不做处理的话,最终页面展示的是一片空白。
    那么,我们是不是可以在路由匹配上做文章呢?

    路由监测

    在组件中,可以从this.$route获取当前路由,那么就可以使用watch监测路由的变化,监测所有路由变化自然而然的落在根路由组件(如:App.vue)上面了。

    无效路由检测

    $route.matched包含了当前路由的匹配结果,如果为空则说明当前路由无效。

    界面提示

    可使用条件渲染,路由有效则渲染router-view,路由无效则渲染提示信息。

    Demo

    App.vue

    
    <template>
      <p v-if="invalidRoute">404</p>
      <router-view v-else></router-view>
    </template>
    
    <script type="text/babel">
      export default {
        name: 'App',
        computed: {
          invalidRoute () {
            return !this.$route.matched || this.$route.matched.length === 0;
          }
        }
      };
    </script>
    
    至于404要多友好就看自己了[惹不起]

    原文地址:https://segmentfault.com/a/1190000012476231

  • 相关阅读:
    命令行jarsigner签字和解决找不到证书链错误
    ERROR ITMS-90034
    module.exports 和 exports
    php扩展包
    switch的使用
    debug安卓屏幕滑动会抖动
    react native编译报错
    使用iTerm2替代Mac自带Terminal终端
    编码转换
    git 操作远程 本地缓存删除
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9961845.html
Copyright © 2011-2022 走看看