Maison > Questions et réponses > le corps du texte
P粉5471709722023-09-02 10:45:09
Comme je l'ai mentionné dans les commentaires, transmettre des objets en tant que paramètres de requête n'est pas une méthode populaire, il existe donc deux façons de le faire -
Méthode 1-
Seulement cve_id
传递给新路由,并在安装新路由的页面时,使用此查询参数 cve_id
从后端获取 cve_object
.
Cette approche est utile et recommandée car vous obtenez toujours des données mises à jour du backend.
Si vous suivez cette approche, quelques changements doivent être apportés -
cve_id
à votre nouvel itinéraire dans Homepage.vue -methods: { onAboutClick(cve_id) { this.$router.push({ name: "clickthru", query: { cve_id: cve_id }, }); }, },
clickthru.vue
安装的挂钩上,初始化 API 调用以获取该 id 的 cve_data
-mounted() { // Make an API call to fetch the respected id's data }
Méthode 2-
Lorsque vous recevez un enregistrement (celui en boucle) dans HomePage.vue
, enregistrez ces données dans votre Statut VuexHomePage.vue
中收到记录(正在循环的记录)时,请将此数据保存到您的 Vuex 状态。现在,与方法一相同,仅将 cve_id
. Maintenant, comme pour la première méthode, transmettez simplement à la nouvelle route et récupérez-la à partir de l'état Vuex
Si vous suivez cette méthode, le processus sera comme ceci-
const store = new Vuex.Store({ state: { records: [] }, mutations: { SET_RECORDS (state, backend_response) { // mutate state state.records = backend_response; } } })
cve_id
,因此可以使用它从状态获取相关的 cve_object
。因此,在安装了 clickthru.vue
Comme pour la première méthode, vous avez cve_object
pertinent de l'état. Donc, après avoir installé clickthru.vue
, procédez comme suit -
<script> export default { data() { return { cve_object: null, }; }, mounted() { this.cve_object = this.$store.state.records.find( (item) => item.id == this.$route.query.cve_id, ); }, }; </script>
cve_id
De cette façon, vos enregistrements seront dans cet état afin que vous puissiez utiliser la requête sur n'importe quelle page pour trouver n'importe quel enregistrement.
Attention-
Je donne seulement l'idée d'obtenir et de définir des données de l'état. Si vous souhaitez adopter la deuxième approche, lisez simplement Vuex et suivez la documentation.
Vous pouvez également consulter le guide complet ici Comment configurer Vuex dans une application Vue