动态路由就是带参数的路由。比如我们商品列表里很多商品详细页,这时候就需要动态路由的帮助了。

比如我们新建一个commodity文件夹,新建一个index.vue 文件,然后新建一个_id.vue (以下画线为前缀的Vue文件就是动态路由,然后在文件里边有 $route.params.id来接收参数)

index.vue (可以写三种方式):

<a href="/commodity/123">commodity1</a>
<nuxt-link to="/commodity/123">commodity2</nuxt-link>
<nuxt-link :to="{name: 'commodity',params:{id: 123}}">commodity3</nuxt-link>  (推荐这种写法)

_id.vue:

<h2>commodity-Content [{{$route.params.id}}]</h2>

 

校验传递参数的正确性是很有必要的,Nuxt.js也贴心的为我们准备了校验方法validate( )。

_id.vue:

export default {

  validate ({ params }) {
    // Must be a number
    return /^\d+$/.test(params.id)
  }

}

我们使用了validate方法,并把params传递进去,然后用正则进行了校验,如果正则返回了true正常进入页面,如果返回false进入404页面

 

相关文章:

  • 2022-01-01
  • 2021-11-26
  • 2021-07-11
  • 2021-07-31
  • 2021-12-23
  • 2021-12-15
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2021-04-02
  • 2021-08-01
相关资源
相似解决方案