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

6 ماه پیش
توسط Ashkan Nazari آپدیت شد
hamed sarkhosh ( 18900 تجربه )
6 ماه پیش
تخصص : برنامه نویس

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

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

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

Ashkan Nazari ( 7995 تجربه )
6 ماه پیش
تخصص : برنامه نویس

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

user:{
get(){
return this.$store.getters.userGet;
}
set(value){
return this.$store.commit('userMutation',value);
}
}
hamed sarkhosh ( 18900 تجربه )
6 ماه پیش
تخصص : برنامه نویس

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

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

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

Ashkan Nazari ( 7995 تجربه )
6 ماه پیش
تخصص : برنامه نویس

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

hamed sarkhosh ( 18900 تجربه )
6 ماه پیش
تخصص : برنامه نویس

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

Ashkan Nazari ( 7995 تجربه )
6 ماه پیش
تخصص : برنامه نویس

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

برای ارسال پاسخ باید وارد سایت شوید