Nuxt.JS: How to get route url params in a page

后端 未结 8 804
深忆病人
深忆病人 2021-02-06 21:06

I am using Nuxt.js, and have a dymanic page which is defined under

pages/post/_slug.vue

So, when I visit the page url, say, http://localhost:3

8条回答
  •  忘了有多久
    2021-02-06 21:27

    In the .vue file, to get the Vue router route object:

        this.$route
    

    ( notice the Vue router is under the this.$router object)

    The $route object has some useful properties:

    {
      fullpath: string,
      params: {
        [params_name]: string
      },
      //fullpath without query
      path: string
      //all the things after ? in url
      query: {
        [query_name]: string
      }
    }
    

    You can use the $route object like this:

        
    

    the url path params is under the route.params, as in your case route.params.slug

        
    

    the Vue mouted hook only run on client, when you want to get the params on server, you can use the asyncData method:

        
    

    But, pay attention:

    It will be called server-side once (on the first request to the Nuxt app) and client-side when navigating to further routes. ref

    If you don't need the params information on server, like you don't need to get data based on the params on server side, I think the mounted hook will suffice.

提交回复
热议问题