vue, הרצת פונקציה מתוך בדיקת v-if/v-else
-
יש משתמשים בפרוייקט, ויש חשבונות. כל משתמש יכול להיות אחראי על כמה חשבונות.
הדף הנדון הוא של המשתמש, ואמורים להגדיר בו את הפונקציות המורשות למשתמש בחשבון נבחר. (יש רשימת חשבונות, וכשבוחרים חשבון (מתוך תיבת בחירה) נתוני החשבון מוצגים בקומפוננט).הנתונים של חשבונות שיש להם הרשאות מתקבלים מהשרת במערך הכולל את החשבונות הקיימים והרשאותיהם. אבל אם רוצים לתת הרשאות לחשבון שלא מוגדרות לו עדיין הרשאות, אז אין שם שדות נתונים עבורו.
אני צריך שכשבv-if רואים שחסר המתודות הרלוונטיות, תרוץ פונקציה שתשלים את החסר.
תודה.
-
@chagold לא ברור לי ב-100% הסיטואציה.
אתה רוצה להריץ פונקציה כאשר התנאי של ה-
v-if
מתקיים (או לא מתקיים)?אם כן תעשה
watch
עלcomputed
שמחזיק את התוצאה של התנאי הזה, ברגע שהערך של ה-computed משתנה הפונקציה שלך מורצת. -
@yossiz לא יודע אם לזה בדיוק התכוונת, אבל עשיתי עכשיו.
v-if="func()"
והפונקציה מריצה את זה.
תודה רבה.
-
@chagold אמר בvue, הרצת פונקציה מתוך בדיקת v-if/v-else:
לא יודע אם לזה בדיוק התכוונת, אבל עשיתי עכשיו
התכוונתי בדיוק לאפוקי מזה
לדעתי זו לא דרך נכונה (בעיה גדולה), וגם לא טוב לביצועים (בעיה קטנה).
ה-v-if
לא אמור להריץ פונקציה עם השלכות. זה אמור להשפיע רק על שכבת התצוגה ולא יותר. כל הלוגיקה אמור להיות בקוד - לא בטמפלייט.
ובנוגע לביצועים, כאשר אתה שם פונקציה ב-v-if
אז זה מורצת בכל רינדור של הקומפוננט שיכול לקרות הרבה יותר פעמים ממה שאתה חושב. -
כל הדבר הזה אמור להיות בצד שרת, כשיוצרים חשבון.
אם יש לך חשבונות שכבר נוצרו בעבר ללא הרשאות, תריץ סקריפט שיתקן את הטעון תיקון.