<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های زهرا اسفندیاری</title>
        <link>https://virgool.io/feed/@zahraesfandiaryy1999</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-16 17:49:10</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>زهرا اسفندیاری</title>
            <link>https://virgool.io/@zahraesfandiaryy1999</link>
        </image>

                    <item>
                <title>استفاده از vuex-module-decorators  در vuex</title>
                <link>https://virgool.io/@zahraesfandiaryy1999/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-vue-module-decorators-%D8%AF%D8%B1-vuex-tlcjemrefjfl</link>
                <description>توی یکی از پروژه هایی که جدیدا توش شریک شدم از این پکیج استفاده شده بود خواستم هرچی خوندمو باهاتون به اشتراک بذارم.درواقع این پکیج برای این استفاده میشه که نوشتن vuex توی پروژه هارو برای ما راحت تر کنه.اگر از ماژول بندی توی vuex استفاده کرده باشید، حتما دیدید که یکم کار پیچیده ایه.درحالی که با استفاده از این پکیج میتونید ماژولهارو به صورت کلاس به سادگی بنویسید.import { Module, VuexModule } from &#039;vuex-module-decorators&#039;

@Module
export default class MyModule extends VuexModule {
}حالا برای اینکه مثلا یک State  رو داخل این ماژول قرار بدیم، کافیه فقط به صورت زیر بنویسیمش:@Module
export default class Vehicle extends VuexModule {
  wheels = 2
}اگر به gettersاحتیاج دارید:export default class Vehicle extends VuexModule {
  wheels = 2
  get axles() {
    return this.wheels / 2
  }
}و اگر به Mutation احتیاج دارید:import { Module, VuexModule, Mutation } from &#039;vuex-module-decorators&#039;

@Module
export default class Vehicle extends VuexModule {
  wheels = 2

  @Mutation
  puncture(n: number) {
    this.wheels = this.wheels - n
  }
}و برای نوشتن Action هم کافیست:import { Module, VuexModule, Mutation, Action } from &#039;vuex-module-decorators&#039;
import { get } from &#039;request&#039;

@Module
export default class Vehicle extends VuexModule {
  wheels = 2

  @Mutation
  addWheel(n: number) {
    this.wheels = this.wheels + n
  }

  @Action
  async fetchNewWheels(wheelStore: string) {
    const wheels = await get(wheelStore)
    this.context.commit(&#039;addWheel&#039;, wheels)
  }
}همانطور که دیدید، این پکیج کار ماژول بندی کردن vuex را بسیار راحت تر میکند.من فقط سعی کردم اینجا بهتون معرفیش کنم.برای دیدن همه ی مزیتهای این پکیج میتونین به سایت https://championswimmer.in/vuex-module-decorators/pages/core/actions.htmlسر بزنید.</description>
                <category>زهرا اسفندیاری</category>
                <author>زهرا اسفندیاری</author>
                <pubDate>Fri, 20 Aug 2021 17:27:12 +0430</pubDate>
            </item>
            </channel>
</rss>