זה נושא דיון מלווה לערך המקורי ב- https://www.tocode.co.il/bundles/html5-web-development/lessons/angular-syntax-lab
זה נושא דיון מלווה לערך המקורי ב- https://www.tocode.co.il/bundles/html5-web-development/lessons/angular-syntax-lab
בשאלה של היחידות זמן אני מעוניין לבנות פונקציה אחת שתחשב לכל התיבות את הזמן … אבל אני צריך לדעת מי הפקד שהפעיל אותה - כדי שאדע לחשב את האחרים ? שמתי לב שבאנגולר לא מעבירים כלום באירועים כפרמטר
אין בעיה להעביר ערכים בהפעלת פונקציה גם מתוך ה HTML למשל:
<button ng-click="vm.click(60)">Click Me</button>
יכולת נוספת שאולי תעזור כאן היא Getters and Setters. אפשר לקרוא עליהם כאן:
אני רוצה להעביר את הפקד עצמו שיצר את האירוע ? לא פרמטר קבוע - כמו כל אירוע ב- JS ששולח את הפרמטר event ובתוכו יש מאפיין target של מי שיצר את האירוע
לא מצליח להבין למה זה לא עובד - הוא לא מזהה משום מה שמודבר באנגולר
לגבי משימה 4 - אני הוספתי כפתור שכאשר לוחצים עליו אז הוא בונה את המערך כל פעם מחדש ומעדכן את המשתנה - זה נכון לעשות את זה כך
-
כי לא שמת את ה JavaScript של אנגולר
-
כי הגדרת ה Controller שלך לא משתמשת בכתיב ה Controller As
זו הגירסא שעובדת:
לגבי העברת הפקד עצמו בהחלט אפשרי. יש משתנה מיוחד בשם $event שאתה יכול להעביר ל ng-click למשל כך:
<button ng-click="vm.go($event)">go</button>
ואז בתוך הגדרת הפונקציה ב Controller אפשר לקבל הרבה פרטים על האירוע דרך משתנה זה. שים נקודת עצירה בכניסה לפונקציה go ותראה איזה שדות יש באוביקט ה event.
לא הבנתי למה התכוונת בפיתרון של משימה 4. אולי תדביק כאן קודפן שיהיה קל לדבר על זה?
עשיתי את $event ושמתי נקודת עצירה החזיר לי לא מוגדר בכלל ?
יכול לשים קודפן של מה שעשית?
כן ברור - ברוך הבא לאנגולר
לא לכל סוגי האירועים יש Event Object, לדוגמא ל ng-change אין Event ובגלל זה זה לא עובד לך.
במקרה שלך אפשר להעביר ערך אחר בתוך הפונקציה שיעזור להבין איזה כפתור גרם לשינוי (למשל להעביר את האותיות h, m ו-s). במקרים אחרים צריך למצוא פיתרונות שמתאימים להם.