Bagaimana untuk memusnahkan harta objek secara bersyarat daripada pengambil Pinia?
P粉148434742
P粉148434742 2023-11-08 17:47:18
0
1
757

Saya mempunyai kedai berikut:

export const useMyStore = defineStore('myStore', {
  state: () => {
    return {
      openTransOnly: false,
      keyword: '',
      openTransStatus: { nextPage: 0, complete: false },
      pastDueTransStatus: { nextPage: 0, complete: false },
    };
  },

  getters: {
    transStatus(state) {
      return state.openTransOnly ? state.openTransStatus : state.pastDueTransStatus;
    },
  },
});

Sekarang katakan saya mahu menukar atribut "kata kunci" di atas kepada Ruj. Inilah yang saya lakukan:

const myStore = useMyStore();
const { keyword: needle } = storeToRefs(myStore);

Saya juga mempunyai sifat pengiraan berikut dalam komponen saya:

const page = computed({
  get: () => myStore.transStatus.nextPage,
  set: (value) => (myStore.transStatus.nextPage = value),
});

Ia berfungsi dengan baik. Walau bagaimanapun, saya ingin tahu cara mentakrifkan "halaman" menggunakan "storeToRefs" yang sama di atas. Saya mencuba ini:

const { keyword: needle, transStatus: { nextPage: page } } = storeToRefs(myStore);

Tetapi tertera "Halaman tidak ditakrifkan". Apa yang saya buat salah? adakah mungkin?

P粉148434742
P粉148434742

membalas semua(1)
P粉394812277

Sebagai storeToRefs 名称所示,它返回引用。 transStatus 是一个引用,没有 nextPage 属性,它是 transStatus.value.nextPage。由于 transStatus 的工作方式以及该值是标量,过早解构 nextPage boleh menyebabkan kehilangan kereaktifan.

Jika ini adalah senario penggunaan biasa, kedai boleh digabungkan dengan page 计算。由于商店状态不应在商店外部发生变化,因此 page 可以与 setPage operasi.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan