Rumah > Soal Jawab > teks badan
P粉1067157032023-08-15 12:45:05
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:
// 这是一个通用的可组合函数: function export useGeneric(getStore:any) { // 这里的类型定义非常困难,也许使用接口来避免使用 any 是最好的解决方案 function genericAct(){ const store = getStore(); // 这就是我需要的 store.a.value = 42; store.act2(); // 这个操作应该在 store 中使用泛型来实现 } return {genericAct} } // 这是一个使用它的示例 store export const useMyStore = defineStore('myStore', () => { const a = ref(1); const b = ref(1); const {genericAct} = useGeneric(useMyStore); function act2(){ b.value = 43; } return {a, b, genericAct, act2}; }