PracticU

ניתוב בתפריט עליון - ROUTING

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

ניתוב בתפריט עליון - ROUTING
ניתוב (routing) באנגולר מחליף את התוכן של העמוד לפי הקישור שנלחץ, בלי לטעון את כל הרכיבים יחד.
בניית הניתוב
1. מודול הניתוב: אנגולר CLI יצר מודול נפרד לניתוב, שמיובא למודול הראשי של האפליקציה. הניתובים נרשמים במשתנה המוגדר בתוך המודול, ואחר כך מיוצאים החוצה.
2. דף הבית: ניתוב לנתיב הריק מפנה לרשימת המוצרים, עם pathMatch: 'full', שפירושו התאמה מלאה ולא חלקית.
3. עמודים: הנתיב product מציג את רשימת המוצרים, ו-about us ו-news מציגים את הרכיבים שלהם.
4. כתובת לא מוכרת: הנתיב ** מפנה כל כתובת שלא קיימת לרשימת המוצרים.
קישורים ותצוגה
5. routerLink: במקום href משתמשים ב-routerLink עם מערך שמציין לאן מנווטים. סוגריים מרובעים סביב מאפיינים של אנגולר מבדילים אותם מ-HTML רגיל.
6. router-outlet: התגית router-outlet בקומפוננטה הראשית היא המקום שבו נטען הרכיב של הניתוב. הרכיבים שנטענים דרך הניתוב לא נקראים עוד כתגיות.
7. הקלאס active: routerLinkActive מוסיף את הקלאס active ל-li, ולא לקישור עצמו, כדי שהפריט הפעיל יסומן נכון.
רכיב ההדר נשאר כתגית רגילה, כי הוא מופיע בכל העמודים.
השיעור הבא בקורס: Routing Parameters

פרקי ההרצאה: ניתוב בתפריט עליון - ROUTING

  1. 00:00

    ראוטינג: מעבר בין עמודים בלי טעינה מחדש

  2. 00:56

    ייבוא מודול הראוטינג של Angular

  3. 02:48

    הנתיבים הראשונים: דף הבית והפנייה

  4. 03:44

    חיבור קומפוננטות לנתיבים

  5. 04:19

    ניתוב כתובת לא קיימת לרשימת המוצרים

  6. 05:16

    הזרקת Router לתפריט העליון

  7. 06:50

    קישורים עם routerLink במקום href

תמלול ההרצאה: ניתוב בתפריט עליון - ROUTING

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

  1. 00:02

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

  2. 00:26

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

  3. 00:58

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

  4. 01:29

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

  5. 01:46

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

  6. 02:01

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

  7. 02:32

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

  8. 02:48

    בואו נתחיל לכתוב את הניתובים שלנו ואנחנו כותבים אותם כאן ב-Path. הניתוב הראשון שלנו יהיה Path, נוריד את ה-Children הזה, Children זה תת-ניתוב ואנחנו כרגע לא נעשה אותו, אולי בהמשך.

  9. 03:03

    זה אומר כשמבקשים את דף הבית בלי משהו מיוחד, אנחנו עושים redirect to ומעבירים אותו לדף אחר לגמרי שנקרא לו product. ואנחנו צריכים לציין בגלל שזה ריק וזה יכול להתאים לכמה דברים, אנחנו צריכים לציין פה שpath match full.

  10. 03:26

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

  11. 03:50

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

  12. 04:05

    בואו נמשיך כשמישהו יבקש דף about us נעביר אותו לקומפוננטה about us וכשמישהו יבקש חדשות news נעביר אותו לקומפוננטה של חדשות.

  13. 04:21

    עכשיו נעשה כמה דברים מעניינים כשמישהו יבקש משהו שהוא לא קיים אצלי איך מסמנים משהו שהוא לא קיים שני כוכביות נעשה לו redirect לproducts לרשימת המוצרים arrow 404, page not found.

  14. 04:40

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

  15. 04:56

    למה? כי אם אני מבקש משהו שלא קיים. אז הניתובים האלו כן עובדים. לשם בדיקה בואו נעביר אותו ל-bout us. ברגע שאני מעביר אותו ל-about us ומוחק פה תראו נהיה עמוד של-about us עכשיו נשאר לי בתפריט העליון לרשום את הכישורים הנכונים אז אנחנו מתחילים לטפל בנושא של תפריט עליון עכשיו כדי להשתמש בראוטינג הזה אנחנו צריכים בעצם לראות אותו בתוך הקובץ של תפריט עליון ולכן

  16. 05:30

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

  17. 06:04

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

  18. 06:32

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

  19. 06:53

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

  20. 07:12

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

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

ההרצאה הקודמת: עיצוב של תפריט עליון עם Bootstrap

ההרצאה הבאה: Routing Parameters

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

  • ניתוב בריאקט - React Routing
  • ניתוב סטטי צף
  • ניתוב ספציפי
  • Swarm - Layer 7 Routing - HTTP Host Header

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

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