PracticU

Angular 4 - Animations

בלי כתוביותעם כתוביות
PracticU › קורס אנגולר 4 עם Angular - WebAPI › Angular 4 - Animations
מילון מושגים:
Angular - מסגרת פיתוח של גוגל לבניית יישומי אינטרנט מתקדמים בצד הלקוח, מבוססת TypeScript ורכיבים.
סטייט - המידע על מצבו הנוכחי של רכיב או אפליקציה בזמן נתון, שמשתנה ומשפיע על מה שמוצג.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
תבנית - מבנה בסיסי מוכן שממנו יוצרים פריטים דומים, כמו תבנית עמוד או תבנית מסמך.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
גופן - העיצוב הגרפי של האותיות והתווים המוצגים בטקסט, הכולל צורה, סגנון וגודל.
CSS - שפת עיצוב שקובעת את המראה של דפי אינטרנט: צבעים, גופנים, מיקום וסידור הרכיבים.

Angular 4 - Animations
אנימציות נותנות לאתר תחושה חיה: מוצר שמופיע בהדרגה, סל שנכנס מהצד, ומוצר יקר שמודגש. בהרצאה הזאת משתמשים במודול האנימציות של Angular, ומגדירים מעברים בין מצבים.
השלבים העיקריים
1. ייבוא המודולים: מייבאים את BrowserAnimationsModule לאפליקציה, ואת הפונקציות trigger, state, style, transition ו-animate מתוך @angular/animations.
2. הצמדה לרכיב: מוסיפים לתבנית את [@myCartAnimation], כשהשם הוא שם הטריגר. הטריגר עצמו מוגדר בקוד הקומפוננטה, בתוך המערך animations.
3. כניסה מהצד: מצב :enter מתחיל עם translateX(100%) ושקיפות 0, ובאנימציה של 500 מילישניות מגיע ל-translateX(0) ושקיפות 1. כשהאנימציה מסתיימת, העיצוב של הסוף הופך למצב הרגיל של הרכיב.
4. יציאה: מעבר :leave (* => void) הופך את הכיוון, והרכיב נעלם בהדרגה. אפשר גם להוסיף scale: מוצר מופיע מגודל 1.5 ומתכווץ לגודל 1, או נעלם מגודל 1 עד 0.
5. מצבים לפי תנאי: state מגדיר עיצוב שמופעל כשתנאי מתקיים. במדריך נבדק אם מחיר המוצר גדול מ-20 דולר, ואם כן הפונט מקבל fontWeight: 'bold' והרקע נעשה שחור. מי שכותב מקף ב-CSS, כמו font-weight, צריך לכתוב אותו כ-camelCase בטייפסקריפט.
6. כמה טריגרים בדף: אפשר להגדיר כמה טריגרים באותו רכיב, למשל אחד לסל הקניות ואחד למוצר בודד. הם לא מפריעים זה לזה, וכל אחד מחזיק את המצבים והמעברים שלו.
שימו לב
- מה שכתוב לפני animate הוא נקודת ההתחלה של העיצוב, ומה שכתוב בתוכו הוא הסוף שאליו האנימציה מגיעה.
- אנימציה היא CSS רגיל שמחובר למצבים של הרכיב. אין בה קסם נוסף.
בסיום מוצר מופיע בהדרגה, סל נכנס מהצד, ומחיר גבוה מודגש, כל זה בלי לכתוב CSS נפרד לכל מצב.
השיעור הבא בקורס: News Service

פרקי ההרצאה: Angular 4 - Animations

  1. 00:00

    מטרת האנימציות ומבוא ל-Angular Animations

  2. 00:37

    ייבוא מודול האנימציות לאפליקציה

  3. 01:29

    הגדרת טריגר אנימציה לבלוק סל הקניות

  4. 02:16

    מעברים בין מצבים באנימציה

  5. 04:58

    כניסה ויציאה של רכיב עם Enter ו-Leave

  6. 06:28

    הזזה עם translateX וזמן האנימציה

  7. 07:27

    שקיפות וחזרה למצב הרגיל של הרכיב

  8. 08:42

    בחינת סקייל ושקיפות סופית

תמלול ההרצאה: Angular 4 - Animations

הטקסט המלא של הדקות הראשונות בהרצאה «Angular 4 - Animations» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    טוב חברים הגענו לפרק מעניין של אנימציות איך עושים אנימציות שחלק מהחנות יופיע באופן דינמי לדוגמה עכשיו אם אני מוסיף מוצר הוא מופיע לי פה כבום אחד גדול ואני רוצה שייכנס לי בעדינות מהצד כל מיני אנימציות קטנות ומאוד חמודות וחבר'ה של אנגולר עשו על זה ממש מודול שלם של אנימציות שאנחנו צריכים לייבא אותו

  2. 00:24

    אלינו ולהשתמש בו ובואו נעשה את זה נעשה קופי ונעשה אצלנו אנימציות אתם תראו שזה ממש ייראה הרבה יותר יפה והרבה יותר נחמד.

  3. 00:34

    האמת שאת המודולים של האנגולר אני שם למעלה ואת שלי אני שם למטה. דבר שני, אני רוצה להביא אותו באימפורטס של המודולים המוכנים.

  4. 00:43

    הנה כאן, פה זה כל הרכיבים שבניתי ופה זה מודולים מוכנים שאני מייבא. הנה זה זה.

  5. 00:49

    בראוז מודול שהוא גם צריך אותו, לפי דעתי הוא כבר נמצא אצלי. כן, הוא כבר נמצא אצלי. בכל מקרה, אז לא צריך לדאוג לזה. יפה מאוד אז הבאנו אותו ועכשיו אנחנו הולכים להשתמש בו ויש פה כל מיני אנימציות שאפשר לעשות אנחנו גם נעבור על האתר שלהם כי הוא קצת יותר מורכב אבל בואו נתחיל לבד אנחנו רוצים להצמיד אנימציה לפרודקט ליסט בקומפוננטה

  6. 01:15

    של פרודקט ליסט הנה הבלוק שלנו של סל הקניות שזה הבלוק שמופיע כשיש לפחות קנייה אחת והבלוק הזה נכנס בצורה ככה פתאום בום מופיע לא בצורה עדינה לא בצורה יפה אנחנו רוצים שהוא ייראה בצורה נחמדה ויפה אז אנחנו צריכים להכריז עליו כאן להצמיד לו אנימציה. איך מצמידים אנימציה?

  7. 01:35

    עושים סוגריים מרובעים שטרודל והשם של האנימציה נניח מיי קארט אנימיישן וזה השם של האנימציה שלי יופי עכשיו רק נשאר ללכת לקוד של טייפ סקריפט ולעשות פה אנימציה חדשה איך אנחנו עושים את זה אנחנו פה למעלה בקומפוננטה עושים פסיק ויש פה אנימשנס שזה בדיוק עושה לי את אז איך כותבים את הדבר הזה?

  8. 01:59

    אז אנחנו פותחים בעצם מערך של אנימציות, ובתוך המערך יש לנו כל מיני דברים שאנחנו יכולים לכתוב. בואו נתחיל בטריגר, ומה הטריגר שלנו? טריגר שלנו זה בדיוק השם של האנימציה, זה מה שמפעיל אותה. זה הטריגר שלה, רק אני רוצה את המילה טריגר שיופיע בשורה נפרדת ככה.

  9. 02:16

    ובתוך הטריגר, מה קורה? הוא אומר לי שהוא לא יכול למצוא את הטריגר. למה הוא לא יכול למצוא את הטריגר? כי צריך לעשות לו אימפורט מתוך אנגולר קור. הנה הוא הוסיף לי פה את הטריגר, יפה מאוד.

  10. 02:27

    אז יש לנו את השם של האנימציה, זה השם ששמנו שמה, ומה קורה. עכשיו, בתוך האנימציה אני יכול להגדיר state ומצבים, על זה נדבר בהמשך, אני עכשיו אגדיר ישר מעברים, Transition.

  11. 02:42

    הנה, בואו נראה איך כותבים את זה פה באתר. אז הנה, Transition between two states. קודם כל הם עושים אימפורט לכל אלו מתוך Angular Animations, ואת זה לא עשינו איתכם, בואו נעתיק מהם.

  12. 02:53

    הנה הם מייבאים את זה מאנגולר אנימשן ואנחנו הבאנו את זה מאנגולר קור אוקיי וכשאני רוצה את זה בשורה אחת יופי אז הבאנו את כל הקומפוננטות עכשיו יש לנו פה טריגר השם שלו אחרי זה סטייט זה מצבים שונים שאנחנו יכולים להגיד לו במצב שהרכיב הוא לא אקטיבי במצב שהוא כן אקטיבי אנחנו נדבר על זה בהמשך שלמעשה אני יכול לקבוע

  13. 03:17

    לו באיזה מצב יהיה הרכיב וכשהוא במצב מסוים איזה סטייל של css להוסיף לו באופן כללי כל האנימציות זה חלק מתוך css3 ויש לנו פה transition ממצב למצב תוך כמה זמן וזה בדיוק מה שאני רוצה לעשות ואנחנו נעשה פה אבל לא ממצב inactive ו-active שזה inactive ו-active ממצב למצב איך עוברים ואת המצב הזה דרך אגב איך אתם מגדירים זוכרים שעשינו שטרודל טריגר אתם יכולים להגיד לו גם שווה לאיזה מצב אז

  14. 03:46

    אני יכול להגיד לו כשהרכיב הזה הוא במצב כזה או כשהוא במצב כזה אני מגדיר לו מצבים לרכיב ולפי המצב שאני מגדיר לו מופעל עליו סטייל העיצוב ויש תהליך מעבר ממצב אחד לאחר, אוקיי?

  15. 04:00

    אז כאן אני קובע לו איזה מצב אני רוצה שיהיה, לדוגמה inactive או active, ואת המצב הזה יש ביניהם מעבר ויש תנאים למצב, לסטייט הזה. אם תסתכלו, הסטייט הזה פה מתחלף, הפונקציה toggleState מחליפה את המצבים, this.state ו-this.state זה בדיוק קובע לי את המשתנה הזה.

  16. 04:22

    אני עכשיו לא רוצה להצמיד לו מצבים ידנית, אני רוצה להשתמש במצבים שהם באים כחלק ממערכת שנקראים ווייד. ווייד זה אומר שהוא לא קיים או שהוא כן קיים.

  17. 04:32

    אז אני יכול לעשות מצב שהוא קיים או לא קיים, מווייד לכוכבית או מכוכבית לווייד, בסגנון כזה ווייד כוכבית וכוכבית לווייד. עכשיו במקום לרשום את זה ככה, שזה גם אפשרי, אני ארד למטה, אני אראה לכם שאותו דבר אפשר לכתוב יותר ברור כמו שכותבים ב-CSS, כזה פסבדו סלקטור.

  18. 04:52

    זה נקרא Enter, שזה כמו לעשות מווייד לכוכבית. ווייד זה ריק, כוכבית זה לכל מצב. וליב זה הפוך, מכל מצב לעבור לריק. אז אני יכול לבחור או צורה כזאת כתיבה או צורת כתיבה כזאת.

  19. 05:05

    אני מעדיף לכתוב ככה, וזה למעשה מה שאני הולך לכתוב. אז אני כותב כאן שהמעבר שלי יהיה במצב של כניסה, ואני במצב של כניסה, שזה זה, מווייד לכוכבית, יש לי איזשהו מערך של סטייל שאני עושה. בואו ניקח את הדוגמה הזאת ונתאים אותה אלינו.

  20. 05:22

    יש לי פה מערך שאני מפעיל אותו אז מה שקורה זה דבר כזה עוד פעם יש לנו טריגר בתוך הטריגר יש מצבים אני עובר למצב כניסה בואו נעשה ישר גם מצב של יציאה שהוא יוצא החוצה אנחנו יכולים לעשות פה פסיק ומצב שהוא יוצא החוצה אז יש לי פה בעצם שני מצבים מצב כניסה מצב יציאה אני משתמש בזה כי זה יותר ברור לי הלאה כשאני בא להיכנס לפני שמתחיל האנימציה על

  21. 05:49

    הרכיב הזה שמופעלת עליו האנימציה אני אומר לו, תוסיף ל-X שלו 100%. Translate X הזה זה בכלל חלק מ-CSS 3. ואני רוצה להראות לכם, אם אנחנו נלך ל-W3SchoolCSS3 ונרשום Translate X, אתם תראו שיש פה ממש דוגמאות איך זה עובד.

  22. 06:09

    הנה פונקציית Translate והיא יודעת להזיז רכיב, בואו אני אראה לכם. אם אני מוחק את כל העיצוב הזה, הרכיב, שזה דיו רגיל, עומד במקום הזה.

  23. 06:19

    אם אני מפעיל על הדיו הזה חוק שאומר translate לדוגמה 100 100 הוא יזיז אותו 100 פיקסלים ימינה ולמטה ואני יכול להגיד לו רק translate x ואז הוא יזיז רק בx אז ה-transform.2 translate x זה חלק מ-css3 שלא קשור לאנגולר ואני לוקח את הפקודה הזאת בשפת css3 ומפעיל אותה אליי אתם רואים transform 100% לדוגמה זה אומר שזה אורך 100% ואת זה אני לוקח מ-css3

  24. 06:49

    ומכניס את זה בסטייל זאת אומרת שאני אומר לו תתחיל ממצב שהוא ב-100% ימין היותר ותעשה לי אנימציה במשך 500 מילי שניות אנימאט 500 מילי סקנדס גם האנימאט הזה זה חלק מהCSS 3 בוא נמצא פה אנימאט הנה אנימאשן אתם רואים אנימאשן פה זה חלק מCSS 3 וגם פה אתם כותבים לו אנימאט ותוך כמה זמן לעשות אנימציה אז גם אנימאשנים זה חלק מCSS 3 אז אנחנו אומרים לו תוך כמה זמן לעשות את האנימציה ואומרים לו לאן אנחנו רוצים שהוא

  25. 07:24

    יגיע. זאת אומרת, מה הסטייל האחרון שאנחנו רוצים שיופעל עליו? אז אני אומר לו שהסטייל האחרון שאני רוצה שיופעל עליו זה יהיה Translate X ב-0. למעשה תגיע ל-0 וגם אני רוצה להוסיף לו שקיפות שיהיה לי מעניין, Opacity שזה שקיפות.

  26. 07:43

    אני שם לו 0 בהתחלה וכשהוא יגיע חזרה שיגיע עם שקיפות אחת. אז אני אומר לו תקשיב לפני שהחלק הזה מתחיל אתה מיישם עליו את העיצוב הזה אחרי זה אתה עושה לו אנימציה ומגיע לנקודה הזאת ברגע שהגעת לנקודה הזאת העיצוב הזה נעלם והוא נהיה חלק רגיל אוקיי אז העיצוב הזה ייעלם ממנו כשהוא יהיה רגיל אבל למעשה זה המצב הרגיל שלו נקודת

  27. 08:07

    0 ו-1 אז אני אומר לו פשוט להגיע למצב הרגיל שלו פס איתי 1 ועיצוב 0 אבל אני עושה את זה בצורה מפורשת יפה מאוד אז העיצוב הזה זה בהתחלה והעיצוב הזה בסוף כשהוא עוזב אני עושה לו הפוך תתחיל לעזוב מנקודה הזאת ותעזוב תוך 500 אלפיות השנייה ותעזוב לנקודה הזאת מה זה הנקודה הזאת שאתה לא נראה והx שלך ב-100% ימינה יותר בואו נראה

  28. 08:31

    איך זה נראה כבר אין לנו שגיאות אפילו תראו אני קונה מוצר הופה אתם רואים איזה יופי זה זז ואין לי שגיאות אז עוד פעם אני מוריד מוצר אתם רואים איך זה נעלם איך זה מופיע שמתם לב לשקיפות עכשיו אני רוצה להראות לכם כמה דברים אם הייתי עושה שקיפות סופית נניח 0.5 אז תראו זה מגיע חצי שקוף ואז קופץ אולי לא שמתם לב לזה בואו נעשה לזה גם סקייל סקייל זה גודל לשנות לו גודל נעשה לו סקייל

  29. 08:58

    שאנחנו רוצים אותו פי אחד וחצי אז תראו עכשיו הוא מגיע נהיה גדול וקופץ לי זה לא נראה יפה נוריד את הרעיון של הסקייל אני מאוד אוהב את מה שיצא לנו יצא לנו כזה פייד אין כניסה עדינה יופי בואו נראה עוד כמה דוגמאות מה עוד יכולנו לעשות שזה חשוב שתדעו יכולנו לעשות במקום כניסה ווייד כוכבית זה אומר מי

  30. 09:20

    כלום נכנס פנימה מווייד כוכבית ויוצא החוצה גם כן מכל מצב לווייד ווייד זה ריק זה כאילו חלק לא קיים אם אנחנו כותבים ככה זה עובד אותו דבר בואו נראה אתם רואים זה אותו דבר יפה מאוד אני אישית מעדיף להשאיר את זה ככה ועכשיו נוסיף עוד אנימציה להוספת מוצר בודד שיהיה לנו

  31. 09:43

    מעניין נלך לקארט ל html וב-ng4 איפה שאנחנו אנחנו מוסיפים פה מוצרים, מוסיפים עוד שורה ועוד שורה ועוד שורה, נגיד לו גם כאן שאנחנו רוצים להוסיף לו אנימציה שנקראת My New Product Animation, אני יודע מה, תמציאו לו שם, My New Product Animation Trigger,

לקורס המלא: קורס אנגולר 4 אונליין עם WebAPI

ההרצאה הקודמת: Cross-Component Communication - Observable

ההרצאה הבאה: News Service

הרצאות קשורות מקורסים אחרים

  • XML Animations

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React