שאלת אנגולר - DIRECTIVE דינמי

24sharon

New member
שאלת אנגולר - DIRECTIVE דינמי

יש לי TYPE דינמי, ואני צריכה להציג בהתאמה DIRECTIVE

לדוגמא אם הtype = 1 תציג את הDIRECTIVE הזה

יש כמה דרכים לבצע אך הייתי רוצה לדעת מה הדרך המומלצת לדעתכם
האם עם COMPILE?

מצורף הקוד העכשווי

 

rondadon1985

New member
תרחיבי לגבי הדינמי

יש הבדל בין דימני שבאותו ng-repeat יהיו type-ים שונים, לבין ששינוי ה-type בזמן הריצה אמור לשנות את ה-directive (כלומר, שיש לך אפשרות אחרי שה-view נטען לשנות את ה-type_code וה-view אמור להתאים את עצמו).
&nbsp
במצב הראשון - Compile יתאים, כיוון שהוא רץ פעם אחת שה-directive עובר עיבוד.
במצב השני - Compile לא מתאים, כיוון שאם את תשני את type_code לאחר שהעיבוד של ה-Compile יסתיים, זה לא ישפיע.
&nbsp
במצב השני, הדרך היא דיי כמו שאת עשית, רק לא הבנתי למה לא להשתמש פשוט ב-ng-if או ng-show (פה לדעתי יש עדיפות ל-ng-if).
&nbsp
אגב, אפשר להשתמש בדרך שלך גם ב"מצב הראשון", ואם רוצים להמנע מהצורך של אנגולר כל digest לבדוק את הכל, אז להשתמש ב-one time binding (למשל: loaded="::question.type_code =='main_image'").
&nbsp
תסתכלי על one time binding פה: https://docs.angularjs.org/guide/expression
 
למעלה