取得目前 Pinia store 的引用的方法:動態組合操作
P粉195200437
2023-08-14 14:12:02
<p>這是我想要的「大致」內容:</p>
<pre class="brush:php;toolbar:false;">// 這是一個通用的可組合函數:
function export useGeneric() {
function genericAct(){
const store = getCurrentStore(); // 這是我需要的
store.a.value = 42;
store.act2(); // 這個動作應該在儲存中使用通用函數實現
}
return {genericAct}
}
// 這是一個使用它的範例存儲
export const useMyStore = defineStore('myStore', () => {
const a = ref(1);
const b = ref(1);
const {genericAct} = useGeneric();
function act2(){
b.value = 43;
}
return {a, b, genericAct, act2};
}</pre>
<p>我如何取得綁定了該動作的儲存? (或如何將它傳遞為<code>useGeneric</code>的參數?)</p>
<p>(當然,這只是一個最簡單的範例。在實際應用中,我會用這個做更多有用的事情...)</p>
我不知道這是否是最好的方法,你也可以考慮 @Estus Flask 的評論:
但我最終選擇將
useMyStore
作為參數傳遞。請注意,它應該在每個通用操作中調用,因為在
useGeneric()
執行時,store 尚未建立。下面是程式碼範例: