קבלת textContent באנגולר
-
הטקסט וגם הקלאס מוצגים ע"י פונקציה
<div claess={{getClass)()}}> {{getText()}} <\div>
הפונקציה {{getClass}} צריך לקבל את תוכן הטקסט, ה-textContent וחבל לי שיריץ שוב את הפונקציה getText
הדרך הנכונה היא לרשום להגדיר ng-madel
נכון? -
לא טוב
א"א להשתמש בng-model
זה לא אלמנט קלטמה הפתרון?
-
לכאורה הפתרון פשוט
בתוך פונקציה נשמור את התוצאה על מאפיין של האלמנט. -
@dovid
זהו שאני מתחבט איך מודדים
מה נקרא להתעסק עם קטנות ומהו חסכון מומלץזו לא אותה פונקציה
הפונקציה של הקלאס משתמשת (היא ופונקציות שהיא משתמשת בהם) בתוכן.
בגלל שאנגולר מריץ את הפונקציות תכופות כפול אלפי אלמנטים חשבתי שנכון לחסוך.מה אומר
-
אתה צודק, זה ייתכן שזה משמעותי. זה אחד המעלות של הדיירקטיב, שיש לך איזור סגור בו אתה יכול לטעון את מה שצריך ולשמור בלי ש"יתערבב" אם שאר הקוד. במקום שהDOM יקרא פעמיים לאנגולר, אתה מקבל בבת אחת את המידע ושותל אותו בטמפלט. אפשר כמובן לחקות את זה בקוד רגיל אבל זה די מקשה על שמירת הנתונים באוטונומיה נפרדת לכל אלמנט.
-
עד קצת מאמץ ואבין את העקרונות
@dovid אמר בקבלת textContent באנגולר:
אחד המעלות של הדיירקטיב, שיש לך איזור סגור בו אתה יכול לטעון את מה שצריך ולשמור בלי ש"יתערבב" אם שאר הקוד.
למה זה אוטונומיה נפרדת, כי את כל מופע של האלמנט עוטף סקופ פרטי (וכן מופע קונטרולר שמוכנס לדיירקטיב)?
@dovid אמר בקבלת textContent באנגולר:
במקום שהDOM יקרא פעמיים לאנגולר, אתה מקבל בבת אחת את המידע ושותל אותו בטמפלט.
לא מבין מדוע בדיירקטיב אנגולר לא יצטרך לקרוא לפונקציה פעמיים לעומת בקונטרולר.
-
א. הנה למה הדיירקטיב מונע קריאה כפולה
https://plnkr.co/edit/c3dlfTkazy3LrHt751RPב. לדעתי הדיירקטיב שווה הרבה לתחזוקה. הרבה.
מבחינת ביצועים זה תלוי מאוד מה הוא עושה, כי זה ודאי שהוא יכול בעקיפין לחסוך המון.
בלי החסכונות העקיפים ודאי שיש לו עלות מעבר לDOM רגיל, אבל היא זניחה.
ראה על ביצועים פה:
https://www.bennadel.com/blog/2737-directive-templates-have-a-small-impact-on-performance-in-angularjs.htm
https://stackoverflow.com/questions/24171893/angularjs-nginclude-vs-directive -
@dovid אמר בקבלת textContent באנגולר:
א. הנה למה הדיירקטיב מונע קריאה כפולה
https://plnkr.co/edit/c3dlfTkazy3LrHt751RPתודה רבה!!
לקח זמן להבין אבל היה שווה!!!ועכשיו להסבר
ככל שהתחום גדול יותר, נוצרים יותר שינוים שגורמים לאנגולר לעבור על הכל שוב?
9/10