קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
ראשי ♦ HTML ♦ צורות שונות לקריאה של קומפוננטות אנגולר (angular selector types)

צורות שונות לקריאה של קומפוננטות אנגולר (angular selector types)

עידן יצחקי 8 בינואר 2021 5 תגובות

להשמה של רכיב אנגולר ב-HTML יש יותר מדרך אחת, כל הדרכים יובילו לאותה תוצאה אבל אולי יש יתרון בלדעת את השיטות האחרות.

כולם משתמשים בדרך שמיד אראה, בעיקר בגלל הרגל:

@Component({
    selector: 'app-myComp',
    template:  './myComp.component.html',
    styleUrls: ['./myComp.component.css']
})

כשנרצה לקורא לה בדף, נרשום את זה כך:

 <app-myComp></app-myComp>

החיסרון היחיד של השיטה הזו (חיסרון לא ממש משמעותי) היא שלתגית השו אין משמעות ב-HTML והוא לא יודע איך להתייחס אליה ולכן גם אין לה CSS ברירת מחדל.

אנחנו יכולים לעשות את אותו הדבר כך:

@Component({
    selector: '[app-myComp]',
    template:  './myComp.component.html',
    styleUrls: ['./myComp.component.css']
})

עכשיו כשנרצה לקרוא לרכיב, נעשה את זה כך:

<div app-myComp></div>

אפשר לראות שאין יותר תגית בשם לא מובן ל-HTML, ואפשר כמובן לעשות את זה בכל תגית שנרצה (p/li/section/span).

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

אופציה נוספת ואפילו מוזרה יותר:

@Component({
    selector: '.app-myComp',
    template:  './myComp.component.html',
    styleUrls: ['./myComp.component.css']
})

אני מניח שבשלב הזה אתם מנחשים מה זה אומר 😎, וזה אכן כך…..

אנחנו נקרא לרכיב כך:

<div class="app-myComp"></div>

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

זה לא משנה אם מדובר בתגית או ב-ATTR או ב-CLASS, ברגע שתנסו תעלה הודעת שגיאה שאומרת שלא ניתן….

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

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

נ.ב.

אפשר לבנות ארכיטקטורה שכוללת למשל:

  1. דפים ראשיים נכתבים כתגיות
  2. רכיבים בתוך הדפים נכתבים כ-ATTR
  3. פיסות רכיבים ממש קטנות כ-CLASS

כך להבדיל בין החשיבות והתפקיד שלהן.

פוסטים קשורים:

מיניון מחזיק בננהangular input and output in the same variable תמונת אווירה של ברווז לוחש לבובת דרקוןאנגולר Rxjs – BehaviorSubject in Service file custom validator for group angularcustom validator for groups – אנגולר ולידטור ייחודי לגרופ ב-reactive form תמונת אווירה של חצים לכל הכיווניםבניה של טופס דינמי על פי מידע מהשרת באנגולר
angular

אודות המחבר

עידן יצחקי להציג את כל הפוסטים של עידן יצחקי


« פוסט קודם
פוסט הבא »

5 תגובות

  1. Rivka הגב 11 במאי 2021 בשעה 15:26

    אפשר גם להגדיר את הסלקטור כך:

    selector: '#calculator'

    ולהגדיר על הדיב כך:

  2. עידן יצחקי הגב 12 במאי 2021 בשעה 11:51

    לא כסלקטור של רכיב אלא כמשתנה של תבנית ב-HTML שניתן ל-"תפוס" בצד ה-TS. למשל כשעושים viewChild

  3. Rivka הגב 19 במאי 2021 בשעה 12:35

    דווקא זה כן הולך בסלקטור של רכיב,

    אבל משום מה התגובה שלי נחתכה,
    ההגדרה על הדיב במקרה הזה תהיה כך:

    תודה.

  4. Rivka הגב 19 במאי 2021 בשעה 12:37

    דווקא זה כן הולך בסלקטור של רכיב,

    אבל משום מה התגובה שלי נחתכה,
    ההגדרה על הדיב במקרה הזה תהיה כך:

    תודה.

    הרעיון חדש ומרענן

  5. עידן יצחקי הגב 20 במאי 2021 בשעה 20:19

    הקוד שאת שולחת לא עובר, אני אשמח אם תוכלי לשלוח אותו לכתובת מייל של האתר
    ‫[email protected]‬.
    תודה מראש
    עידן

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
29 בדצמבר 2023 עידן יצחקי

שדה טקסט עשיר עם תמונות

אתם הולכים להיות מופתעים עד כמה HTML יכול להיות חכם ולבצע משהו כל כך מורכב, שאם אנחנו היינו רוצים ליצור

1 באוקטובר 2021 עידן יצחקי

איך למשוך דינמית favicon של אתרים אחרים ב-JS

בפוסט זה נראה איך אפשר על פי לינקים בדף למשוך את ה-favicon מהדומיין שלהם באופן דינמי, בדיקה של תקינות התמונה

פופולרי
Javascript functions – היכרות עם סוגי פונקציות
Javascript
21 בדצמבר 2024 אין תגובות
Nested routing in angular standalone component
Typescript
15 בנובמבר 2024 אין תגובות
בחרו לפי תגיות
angular blockchain css ethers express front-end fullstack GQL html javascript next js nextjs nodejs react hooks reactjs solidity webgl אנגולר בלוקציין וורדפרס לימודי אנגולר לימודי וורדפרס לימוד ריאקט מדריך front-end מדריך GQL מדריך אנגולר מדריך וורדפרס מדריך חינם react מדריך ריאקט מפתח בלוק מפתח בלוקציין מתכנת front-end מתכנת בלוקציין מתכנת פרונט סולידיטי קורס front end קורס fullstack קורס nextjs קורס אנגולר קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי קורס ריאקט קורס תכנות קורס תכנות בחינם
סינון על פי קטגוריות
CSS fullstack HTML IIS Javascript nodeJs SEO Typescript אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד
דילוג לתוכן
פתח סרגל נגישות כלי נגישות

כלי נגישות

  • הגדל טקסטהגדל טקסט
  • הקטן טקסטהקטן טקסט
  • גווני אפורגווני אפור
  • ניגודיות גבוההניגודיות גבוהה
  • ניגודיות הפוכהניגודיות הפוכה
  • רקע בהיררקע בהיר
  • הדגשת קישוריםהדגשת קישורים
  • פונט קריאפונט קריא
  • איפוס איפוס