Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
67 views
in Technique[技术] by (71.8m points)

javascript - How to pass data via router?

I have a problem with passing data from my rest API to the child component, I have a list with many records, after a click on title i want to open another page with details of this clicked element, here is my code:

My router in table:

<router-link
  to="/user/details"
  v-slot="{ href, route, navigate }"
>
  <a
    :href="href"
    @click="navigate"
  >
    {{ user.name }}
  </a>
</router-link>

My user/details page:

<template>
  <div>
    <div class="flex flex-wrap">
      <div class="w-full mb-12 xl:mb-0 px-4">
           //HOW TO USE THIS MY user.name FROM ROUTER?
      </div>
    </div>
  </div>
</template>
<script>
export default {
    components: {}
};
</script>
{
  path: "/user/details",
  component: UserDetails
}
question from:https://stackoverflow.com/questions/65891992/how-to-pass-data-via-router

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can pass the name in the query when switching routes as follows:

<router-link 
  :to="{ path: '/user/details', query: { name: user.name } }"
>
  User Details
</router-link>

And then parse it in the details component as follows:

data: () => ({ userName: "" }),
created() {
  this.userName = this.$route.query.name;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...