Maison > Questions et réponses > le corps du texte
P粉1067157032023-08-15 12:45:05
Je ne sais pas si c'est la meilleure façon, vous pouvez également considérer le commentaire de @Estus Flask :
Mais j'ai fini par choisir de passer useMyStore
en paramètre.
Notez qu'il doit être appelé à chaque opération générique car au moment de l'exécution de useGeneric()
, le magasin n'a pas encore été créé.
Voici l'exemple de code :
// 这是一个通用的可组合函数: 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}; }