Kaedah untuk mendapatkan rujukan kepada kedai Pinia semasa: operasi gabungan dinamik
P粉195200437
2023-08-14 14:12:02
<p>Ini adalah "kira-kira" yang saya mahukan: </p>
<pre class="brush:php;toolbar:false;">// Ini ialah fungsi boleh gubah umum:
fungsi eksport useGeneric() {
function genericAct(){
const store = getCurrentStore(); // Inilah yang saya perlukan
nilai kedai.a. = 42;
store.act2(); // Tindakan ini harus dilaksanakan menggunakan fungsi biasa dalam stor
}
pulangkan {genericAct}
}
// Berikut ialah contoh kedai yang menggunakannya
export const useMyStore = defineStore('myStore', () => {
const a = ref(1);
const b = ref(1);
const {genericAct} = useGeneric();
fungsi act2(){
b.nilai = 43;
}
kembalikan {a, b, genericAct, act2};
}</pre>
<p>Bagaimanakah saya boleh mendapatkan storan yang terikat dengan tindakan ini? (Atau bagaimana untuk menyampaikannya sebagai hujah untuk <code>useGeneric</code>?)</p>
<p>(Sudah tentu, ini hanyalah contoh paling mudah. Dalam aplikasi praktikal, saya akan menggunakan ini untuk melakukan perkara yang lebih berguna...)</p>
Saya tidak tahu sama ada ini cara terbaik, anda juga boleh mempertimbangkan ulasan @Estus Flask:
Tetapi saya akhirnya memilih untuk lulus
useMyStore
sebagai parameter.Perhatikan bahawa ia harus dipanggil dalam setiap operasi generik kerana pada masa
useGeneric()
dilaksanakan, stor belum lagi dibuat.Berikut ialah contoh kod: