zoukankan      html  css  js  c++  java
  • nuxt路由的简单用法及动态路由验证

    一、nuxt推荐用<nuxt-link>进行路由跳转

    例如:

    <template>
      <nuxt-link to="/">首页</nuxt-link>
    </template>
    

    二、nuxt根据页面结构自动生成路由

    假设 pages 的目录结构如下:

    1 pages/
    2 --| user/
    3 -----| index.vue
    4 -----| one.vue
    5 --| index.vue

    那么,Nuxt.js 自动生成的路由配置如下:

    router: {
      routes: [
        {
          name: 'index',
          path: '/',
          component: 'pages/index.vue'
        },
        {
          name: 'user',
          path: '/user',
          component: 'pages/user/index.vue'
        },
        {
          name: 'user-one',
          path: '/user/one',
          component: 'pages/user/one.vue'
        }
      ]
    }

    三、动态路由

    动态路由:即一些带有参数的页面

    在 Nuxt.js 里面定义带参数的动态路由,需要创建对应的以下划线作为前缀的 Vue 文件 或 目录。

    目录结构:

    pages/
    --| _slug/
    -----| comments.vue
    -----| index.vue
    --| users/
    -----| _id.vue
    --| index.vue

    Nuxt.js 生成对应的路由配置表为:

    router: {
      routes: [
        {
          name: 'index',
          path: '/',
          component: 'pages/index.vue'
        },
        {
          name: 'users-id',
          path: '/users/:id?',
          component: 'pages/users/_id.vue'
        },
        {
          name: 'slug',
          path: '/:slug',
          component: 'pages/_slug/index.vue'
        },
        {
          name: 'slug-comments',
          path: '/:slug/comments',
          component: 'pages/_slug/comments.vue'
        }
      ]
    }

    四、路由参数效验

    Nuxt.js 可以让你在动态路由组件中定义参数校验方法。

    举个例子: pages/users/_id.vue

    export default {
      validate ({ params }) {
        // 必须是number类型
        return /^d+$/.test(params.id)
      }
    }

    如果校验方法返回的值不为 truePromise中resolve 解析为false或抛出Error , Nuxt.js 将自动加载显示 404 错误页面或 500 错误页面。

    详细:https://zh.nuxtjs.org/api/pages-validate/

    联系作者: VX:Mm_Lewis
  • 相关阅读:
    操作系统概论——引
    Oracle知识点总结(一)
    SQLite操作
    JUnit单元测试(六)--Eclipse中JUnit的使用
    IOS沙盒和sqlite简单操作分析
    Android 程序清单文件详解
    限制对比度自适应直方图均衡化算法原理、实现及效果
    第一个django项目
    mysql 引擎优化
    项目
  • 原文地址:https://www.cnblogs.com/lewis-messi/p/9989155.html
Copyright © 2011-2022 走看看