راکت

ریختن مستقیم اطلاعات در داخل state های Vuex

5 پاسخ

سلام دوستان. من یه سوالی در مورد vuex داشتم
من با لاراول اطلاعات مورد نظرم رو از backend میگیرم و با vuejs به کامپوننت های مورد نظرم ارسال می کنم به این صورت:

        <user-table :data="users"></user-table>

یه روش که به ذهنم می رسه اینه که users رو در created کامپوننت user-table بگیرم و بریزم داخل state های vuex
ولی خب این از نظرم من راه زیاد جالبی نیست. من می خوام این اطلاعات وقتی برگشت به view مورد نظرم به صورت مستقیم بریزمش توی state های vuex و با کامپوننتم هم از همونجا بهشون دسترسی پیدا کنم. آیا راه حلی برای این کار وجود داره ؟

ثبت پرسش جدید

پاسخ‌ها

5
اشکان نظری
اشکان نظری
@ashkannazari248

تخصص: برنامه نویس

سلام
داخل compouted تابع زیر رو بزنید و هرجا خواستید با v-model ازش استفاده کنید.

user:{
get(){
return this.$store.getters.userGet;
}
set(value){
return this.$store.commit('userMutation',value);
}
}
hamed sarkhosh
hamed sarkhosh
@ham.sarkhosh

تخصص: برنامه نویس

@ashkannazari248
داخل computed توی instance اصلی vue ؟
خب فرض کنید من اطلاعات رو با لاراول دارم می فرستم به view یه blade به این شکل ؟

        $user = User::all();
        return view('home', compact('user'));

الان داخل blade باید دقیقا چه کدی بزنم که این user هایی که فرستادم رو بریزم داخل state های vuex ؟

شاید پاسخ شما همین‌جا باشد

اشکان نظری
اشکان نظری
@ashkannazari248

تخصص: برنامه نویس

از axios استفاده کنید(ajax)

hamed sarkhosh
hamed sarkhosh
@ham.sarkhosh

تخصص: برنامه نویس

@ashkannazari248
بله خب یه روشش همینه که در created از axios استفاده کنیم و اطلاعات رو به این طریق بگیریم. ولی من گفتم شاید یه راهی هم باشه که در مثل props ها که به component پاسش میدیم این رو هم به vuex پاس بدیم همون اول. ولی خب مثل اینکه راهی نیست !

اشکان نظری
اشکان نظری
@ashkannazari248

تخصص: برنامه نویس

اگه راهی هم باشه استاندارد نیست! پس بهتره کار غیر استاندارد انجام ندید. روش استاندارد استفاده از ajax هست

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام