תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

הוראות (directives) ב-AngularJS

מחבר:
בתאריך:

Angular מרחיב את אוצר המילים של ה-HTML באמצעות הוראות (directives), שאותם מוסיפים בתור שדות לתגיות ה-HTML.

ה-directives אומרות לאפליקציה האנגולרית מה עליה לעשות.

כבר השתמשנו במספר הוראות (directives) של Angular, ובכלל כך:

  • ng-app הוראה שמגדירה שקובץ ה-HTML (או חלקים ממנו) שייכים לאפליקציה האנגולרית.
  • ng-controller שמחברת את הקוד של הקונטרולר ל-view.
  • ng-model הוראה שמגדירה את מקור המידע לשימוש האפליקציה.

במדריך זה נכיר עוד שתי הוראות:

  • ng-init מאתחלת את המידע שישמש את האפליקציה.
  • ng-repeat מאפשרת להציג כל אלמנט שמקורו באוסף באופן נפרד. לדוגמה, שימוש בng-repeat מאפשר להציג מערך בתור רשימה של HTML.

 

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

 

3 השלבים לכתיבת האפליקציה

1. נגדיר את האפליקציה באמצעות ng-app

<div ng-app="">
  
</div>

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

2. נאתחל את המידע באפליקציה באמצעות מערך של אובייקטים באמצעות ng-init


<div ng-app="" ng-init = "users= [{name:'ג`וני',nickName:'השועל'}, {name:'ניסים',nickName:'הדג'}, {name:'ציון',nickName:'פצצת אטום'}]">  
</div>

בתוך ה-directive הגדרנו מערך של אובייקטים של json שמכיל את השם והכינוי של המשתמשים. כך זה נראה:


users= [
  {name:'ג`וני',nickName:'השועל'},
  {name:'ניסים',nickName:'הדג'},
  {name:'ציון',nickName:'פצצת אטום'}
]

3. נתרגם את המערך לרשימה של html באמצעות ng-repeat


<div ng-app="" ng-init = "users= [{name:'ג`וני',nickName:'השועל'}, {name:'ניסים',nickName:'הדג'}, {name:'ציון',nickName:'פצצת אטום'}]">  

<ul>
  <li ng-repeat = "user in users">
    {{ user.name + ' המכונה ' + user.nickName }}
  </li>
</ul>

</div>

 

וזה הקוד המלא:


<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>מדריך Angular JS</title>
    <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.min.js">
</head>
<body dir="rtl">
<div ng-app="" ng-init = "users= [{name:'ג`וני',nickName:'השועל'}, {name:'ניסים',nickName:'הדג'}, {name:'ציון',nickName:'פצצת אטום'}]">  

<ul>
  <li ng-repeat = "user in users">
    {{ user.name + ' המכונה ' + user.nickName }}
  </li>
</ul>

</div>

</body>
</html>

 

כך נראית האפליקציה בפעולה

האפליקציה מתרגמת את המערך לרשימה.

  • {{ user.name + ' המכונה ' + user.nickName }}

 

לסיכום

אחרי שבמדריך זה למדנו על הוראות (directives) של Angular, ממש על קצה המזלג, במדריך הבא נלמד להשתמש ב-directives שמאזינות לארועים בדף . לדוגמה, directive שמאזינות ללחיצה על כפתור או לכניסה לשדה בטופס.

לכל מדריכי ה- AngularJS

מדריכי JavaScript

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

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

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

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

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

השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

איך קוראים בעברית לצ`ופצ`יק של הקומקום?

 

תמונת המגיב

סוגריים בתאריך: 06.03.2016

שלום יוסי, קודם כל תודה רבה על המדריך המושקע ובהיר ההסברים!
רציתי לדעת מדוע לא צריך סוגריים מסולסלים כפולים על המשתנים user.name ו- user.nickName (בשלב השלישי, בשורה הרביעית).

תודה רבה מראש!
אילנה

תמונת המגיב

יוסי בן הרוש בתאריך: 08.03.2016

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