VUE שימוש במשתנה מקומפוננט אחר
-
אני מנסה לקרוא למשתנה שהגדרתי בקומפוננטה בקובץ אחד, לקובץ אחר.
לדוגמא:
יש לי דף login.vue
שם הגדרתי משתנה בשם userexport default { data() { return { user: "name", }; },בקובץ השני אני עושה אימפורט (import) לקובץ ה login:
import login from "../views/login.vue";איך אני יכול עכשיו לקרוא ל משתנה user
ניסיתי
login.user or login.data.userאך אני לא מקבל את התוצאה, במקרה שלי "name"
מה עוד לא הגדרתי נכון?
-
אתה צריך להשתמש בקובץ עזר js או json, ולא לייבא מתוך קומפוננט vue.
יש כאן תשובה:
https://stackoverflow.com/questions/50715823/how-do-i-access-data-from-an-external-file-in-vue-js -
אני מנסה לקרוא למשתנה שהגדרתי בקומפוננטה בקובץ אחד, לקובץ אחר.
לדוגמא:
יש לי דף login.vue
שם הגדרתי משתנה בשם userexport default { data() { return { user: "name", }; },בקובץ השני אני עושה אימפורט (import) לקובץ ה login:
import login from "../views/login.vue";איך אני יכול עכשיו לקרוא ל משתנה user
ניסיתי
login.user or login.data.userאך אני לא מקבל את התוצאה, במקרה שלי "name"
מה עוד לא הגדרתי נכון?
@כץ-יוסף משתנים בתוך קומפוננט הם לוקליים לקומפוננט ההוא.
השורה:
import login from "../views/login.vue";נותן לך את ה"תבנית" של הקומפוננט, שהוא בערך מקביל ל-class בשפות תכנות. זה לא מצביע על מופע מסויים של הקומפוננט.
עם זאת, יש כמה דרכים לשתף מידע בין קומפוננטים:
- אפשר להעביר אותם לקומפוננט בנים דרך
props. - אפשר להעביר לאבא על ידי אירוע, לשם זה תשתמש ב-
this.$emitובאבא תאזין לאירוע על ידיv-on - אפשר לעשות קומפוננט מיוחד עבור שיתוף מידע, עיין כאן: https://vuejs.org/v2/guide/migration.html#dispatch-and-broadcast-replaced
- אפשר להשתמש ב-vuex עבור שמירת state מרכזי לכל האפליקציה
עריכה: אני הבנתי את הסיטואציה שמדובר במידע שמתקבל בצורה דינאמית בתוך הקומפוננט, אם זה מידע סטטי אז התשובה היא מה ש-@OdedDvir הביא, דהיינו לא לשמור אותו בתוך קומפוננט.
- אפשר להעביר אותם לקומפוננט בנים דרך
-
הדרך האולטימטיבית היא VUEX, אלא אם זה מקרה חריג ובדרך כלל אינך צריך, ואז לא שווה "להתלכלך" עם VUEX בשביל זה.
VUEX - נועד בדיוק לזה, סטייט שאינו ספציפי לקומפוננט מסוים.@davidnead אכן התחלתי להשתמש איתו, כלי מדהים שלא היכרתי!!
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות