تايبسكريبت - كيف تستخدم متجر Pinia بشكل صحيح في مكون Vue الرئيسي؟

ملفي main.ts:

import './assets/tailwind.css' import './assets/wordpress.css' import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import router from './router' const app = createApp(App) app.use(createPinia()) app.use(router) app.mount('#app')

اقرأ أكثر →

vue.js - عند استخدام Pinia و TypeScript، كيف تستخدم Action لتعيين الحالة؟

لدي متجر Pinia + TypeScript باسم user.ts الذي يبدو هكذا:

import { User } from 'firebase/auth'; import { defineStore } from 'pinia'; export const useUserStore = defineStore('user', { state: () => ({ displayName: null, em

اقرأ أكثر →

جافاسكريبت - استخدام بينيا خارج المكون يرفع خطأ عدم وجود بينيا نشطة

أنا أعمل على مشروع Vue.js 3 تم إنشاؤه باستخدام قالب ViteSse، وأريد استخدام أحد متاجر Pinia الخاصة بي المسمى notificationStore خارج مكون setup، لكنني أتلقى خطأ getActivePinia called with no active Pinia. Did you forget to install Pinia عند تشغيل أمر dev. سلوكه غريب جدًا لأنه لا يحدث إذا أضفت useNotificationStore بعد تحميل خادم التطوير، ويعمل بشكل جيد، ولكن عندما يكون useNotificationStore موجودًا في ملف ts الخاص بي وتشغيل أمر dev، يظهر الخطأ.

اقرأ أكثر →

vue.js - تمرير متجر Pinia كخاصية في Vue3 و TypeScript

أنا أستخدم Typescript و Pinia و Vue3 ولدي مكون MenuButton أريد أن أتمكن من تمرير متجر Pinia يستخدم لحالة فتح القائمة وكذلك الإجراءات لإظهارها/إخفائها. هناك عدة قوائم مختلفة في التطبيق، ومن هنا تأتي رغبتي في أن أتمكن من تمريرها، وجميعها تستخدم نفس المصنع لتعريف المتاجر. أحاول أن أفهم كيفي

اقرأ أكثر →

تايب سكريبت - كيف تستخدم مصفوفة معرفة في متجر Pinia؟

لقد أنشأت متجرًا من أجل استخدام مورد المستخدم، ويحتوي هذا المتجر على مصفوفة من الأدوار. ما أحاول القيام به هو البحث عن دور محدد في تلك المصفوفة. حاولت استخدام دوال المصفوفة، لكنها لا تعمل مع PropType.

import router from "@/router"; import axios from 'axios'; import { defineStore } from "pinia&q

اقرأ أكثر →

typescript - ts(2769) لا يتطابق أي تحميل زائد مع هذا الاستدعاء عند استخدام $patch على Ref في متجر Pinia

أنا عالق في مشكلة تتعلق بـ TypeScript. الكود يعمل فعليًا، المشكلة فقط هي خطأ في بيئة التطوير يتم إظهاره لي عند محاولتي استخدام دالة $patch من Pinia.

إليك متجري:

import { AuthenticationResult } from '@azure/msal-browser' import { defineStore } from 'pinia' import { ref } from 'vue' const useAuthStore = defineStore('auth', () => { const details = ref<AuthenticationResult>() return { details } }) export default useAuthStore

إليك شفرتي التي تحاو

اقرأ أكثر →

تايبسكريبت - فقدت Pinia أنواعه عند استخدام نمط المصنع

لأجل احتياج مشروعي، أحتاج إلى إنشاء storeFactory لتنظيم إنشاء متجر pinia.

لقد قمت بإزالة المعلمات هنا بشكل محدد وبسطت مثال الشيفرة.

عندما أكون في الملف A، يتم استرجاع نوع storeFactory تلقائيًا بشكل صحيح

عندما أكون في الملف B يُفقد النوع ولا يمكن استنتاج سوى هذا

StoreDefinition<"store_id", {} | _UnwrapAll<Pick<any, string | number>>, {} | Pick<...>, {} | Pick<...>

الملف أ

اقرأ أكثر →

TypeScript - Nuxt Pinia: لا يمكن استيراد التصدير المسمي 'computed' من وحدة غير EcmaScript (التصدير الافتراضي فقط هو المتاح)

لا أستطيع استخدام Pinia في Nuxt 2.15.8 و Vue 2.7.10 مع Typescript، جربت العديد من الطرق وثبتت العديد من التبعيات، لكنها لا تعمل، جربت أشياء كثيرة لدرجة أنني اضطررت لإعادة تشغيل مجلداتي الرئيسية على GitHub؛ قمت بتثبيت هذه التبعيات

"@pinia/nuxt": "^0.4.9", "vue-server-renderer": "^2.7.10", "vue-template-compiler": "^2.7.10"

في الوحدات المدمجة حاولت استخدام Pinia، لكنها لم تعمل، لذلك الآن هي فارغة:

اقرأ أكثر →

تايب سكريبت - Pinia useStore تُرجع أي نوع

أنا أستخدم Pinia مع Vue3 وTypeScript. باستخدام الطرق المختلفة العديدة لتحديد نوع المخزن، لم أتمكن من جعل المخزن يُحدد نوعه كشيء آخر سوى any.

إليك التنفيذ:

import { defineStore } from "pinia"; import type { DataT } from "@/types"; interface DataStore { data: DataT[]; } export const useDataStore = defineStore("dataStore", { state: (): DataStore => ({ data: [] as DataT[], }), });

في أي مكان يتم استيراد

اقرأ أكثر →

تايب سكريبت - تعريف حالة Pinia بناءً على واجهة دون إنشاء كل خاصية مرة أخرى يدويًا

أحاول تنفيذ إدارة الحالة (pinia) في تطبيق صفحة واحدة (SPA). نحن نستخدم TypeScript وأتساءل عما إذا كان هناك أي طريقة لتعريف حالة بناءً على واجهة بدون الحاجة إلى كتابة نوع كل خاصية في الحالة مرة أخرى. باختصار، إخبار الحالة بأنها مبنية على واجهة وأنها تبدأ

اقرأ أكثر →