hamed sarkhosh
5 سال پیش توسط hamed sarkhosh مطرح شد
5 پاسخ

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

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

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

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


ثبت پرسش جدید
اشکان نظری
تخصص : برنامه نویس
@ashkannazari248 5 سال پیش مطرح شد
0

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

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

hamed sarkhosh
تخصص : برنامه نویس
@ham.sarkhosh 5 سال پیش مطرح شد
0

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

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

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


اشکان نظری
تخصص : برنامه نویس
@ashkannazari248 5 سال پیش مطرح شد
0

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


hamed sarkhosh
تخصص : برنامه نویس
@ham.sarkhosh 5 سال پیش مطرح شد
0

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


اشکان نظری
تخصص : برنامه نویس
@ashkannazari248 5 سال پیش مطرح شد
1

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


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

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