PracticU

Angular 4 - Service

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

Angular 4 - Service
ההרצאה מסבירה למה העברת מידע בין קומפוננטות באמצעות input לא עובדת כשמפעילים קומפוננטה דרך ראוטינג, ומראה כיצד להחליף אותה בשירות (service) משותף.
הבעיה בהעברה דרך input
1. העברה ישירה: הקומפוננטה האב מעבירה לבן את רשימת הקניות בתגית. השיטה טובה כשהבן תמיד נמצא בתוך האב.
2. ניתוב: כשהקומפוננטה נטענת דרך תפריט וראוטינג, אין אב שמעביר את המידע, ולכן סל הקניות מתרוקן כשעוברים לדף אחר.
יצירת השירות
1. יצירה: קובץ TypeScript חדש בתיקיית services נוצר בעזרת הסניפט ng2 service, והמחלקה בו ניתנת להזרקה (injectable).
2. רישום במודול: השירות נרשם במודול הראשי ברשימת providers. כך נוצר מופע יחיד שכל הקומפוננטות חולקות.
3. הזרקה: בקונסטרקטור של הקומפוננטה מצהירים על משתנה פרטי מהסוג של השירות. Angular מזריק את המופע הקיים ולא יוצר חדש.
4. שימוש: הרשימה נשמרת בתוך השירות, והתבנית מציגה אותה ישירות ממנו. מוצרים שנוספו בקומפוננטה אחת נשארים גם אחרי ניווט לדף אחר.
נקודה חשובה
1. נתיבים יחסיים: בייבוא מומלץ להשתמש בנתיב יחסי ולא מוחלט, כי בהמשך הקורס הקבצים מוזזים בזמן הפרסום.
סיכום
כעת כל קומפוננטה יכולה לגשת לאותו סל קניות דרך השירות.
השיעור הבא בקורס: Typescript

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

  1. 00:00

    העברת מידע בין קומפוננטות עם input

  2. 01:04

    כשהקומפוננטה נטענת דרך ניתוב

  3. 02:06

    הבעיה: הניתוב מאבד את המידע

  4. 02:45

    הפתרון: סרוויס משותף לשתי הקומפוננטות

  5. 03:26

    יצירת קובץ הסרוויס cart.service

  6. 04:24

    Injectable ותיקון ייבוא הסרוויס

  7. 05:25

    אובייקט אחד משותף בזיכרון

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

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

  1. 00:07

    שלום לכולם בהרצאה הקודמת העברנו מידע בין הקומפוננטות על ידי פרופרטי מאפיין כמו href רק מאפיין משלנו קראנו לו products to buy והבאנו לו איזשהו ערך במקרה הזה cart כאשר הקומפוננטה שלנו upcart זה למעשה סלקטור ששמנו בתוך הקומפוננטה upcart כשאנחנו עובדים בשיטה כזאת אנחנו יכולים לעשות איזשהו מאפיין ולעשות לו

  2. 00:40

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

  3. 01:07

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

  4. 01:52

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

  5. 02:27

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

  6. 02:39

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

  7. 02:59

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

  8. 03:24

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

  9. 03:41

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

  10. 04:17

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

  11. 04:43

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

  12. 05:15

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

  13. 05:40

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

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

ההרצאה הקודמת: Property Binding

ההרצאה הבאה: Typescript

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

  • Service Throttling
  • Create Service
  • מה זה Web Service
  • Service Module

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

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