Rumah > Soal Jawab > teks badan
P粉5471709722023-09-02 10:45:09
Seperti yang saya nyatakan dalam ulasan, menghantar objek sebagai parameter pertanyaan bukanlah cara yang popular, jadi terdapat dua cara untuk melakukannya -
Kaedah 1-
Hanya cve_id
传递给新路由,并在安装新路由的页面时,使用此查询参数 cve_id
从后端获取 cve_object
.
Pendekatan ini berguna dan disyorkan kerana anda sentiasa mendapat data yang dikemas kini daripada bahagian belakang.
Jika anda mengikuti pendekatan ini, terdapat sedikit perubahan yang perlu dilakukan -
cve_id
ke laluan baharu anda di 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 }
Kaedah 2-
Apabila anda menerima rekod (yang digelung) dalam HomePage.vue
, simpan data ini ke Status VuexHomePage.vue
中收到记录(正在循环的记录)时,请将此数据保存到您的 Vuex 状态。现在,与方法一相同,仅将 cve_id
. Sekarang, sama seperti kaedah satu, cuma hantar ke laluan baharu dan dapatkannya daripada keadaan Vuex
Kalau ikut cara ni, proses jadi macam ni-
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
Sama seperti kaedah satu, anda mempunyai cve_object
yang berkaitan daripada negeri. Jadi selepas memasang clickthru.vue
lakukan perkara berikut -
<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
Dengan cara ini anda akan mempunyai rekod anda dalam keadaan itu supaya anda boleh menggunakan pertanyaan pada mana-mana halaman untuk mencari mana-mana rekod tunggal.
Perhatian-
Saya hanya memberi idea untuk mendapatkan dan menetapkan data dari negeri. Jika anda ingin menggunakan pendekatan kedua, baca sahaja Vuex dan ikuti dokumentasi.
Anda juga boleh menyemak panduan lengkap di sini Cara menyediakan Vuex dalam aplikasi Vue