Angular 2.0 Opaque Tokens
אחד מהשינויים הגדולים ביותר שיש באנגולר 2 לעומת אנגולר 1, זה ה- Injector. באנגולר 2.0 כל Component יש Injector משלה.
ניתן לקורא על זה בפוסטים הבאים:
1. DEPENDENCY INJECTION IN ANGULAR 1 AND ANGULAR 2
2. Dependency Injection in Angular 2
3. Host and Visibility in Angular 2's Dependency Injection
בפוסט זה אני רוצה להתמקד רק ב- OpaqueToken.
כאשר רושמים שרות (או כלדבר אחר, כמו למשל ערך) ל- Injector אפשר להשתמש במפתח מסוג String או אפשר להשתמש במחלקה OpaqueToken (אותו עיקרון של symbol ב-JavaScript). ראו קוד:
למה זה מעניין אותנו?
יש OpaqueToken מיוחדים שנותנים לנו מגוון שרותים. מטרת פוסט זה לחשוף אותם לכם J
1. PLATFORM_INITIALIZER
מאפשר לי לרשום פונקציה כאשר ה- Platform של אנגולר עולה. באפלקציה של אנגולר 2.0 יכולה להיות רק Platform אחת, אבל כמה אפלקציות. ראו ציור.
2. APP_INITIALIZER
אותו רעיון כמו סעיף 1, רק מופעל כאשר האפלקציה עולה. אפשר להשוות את זה לפונקצית ה- run מאנגולר 1. כמו שאתם רואים בקוד למעלה אפשר לרשום כמה פונקציות ל- APP_INITIALIZER.
3. PLATFORM_DIRECTIVES
זה אחד החזקים J, מאפשר לי לרשום את הדרקטיב וה- Components על האפלקציה בלבד מבלי לציין אותם בכל Component מחדש. ראו קוד.
4. PLATFORM_PIPES
כמו סעיף 3 רק ל- Pipes. ראו קוד.
5. Default Providers
כאשר משתמשים בפונקציה boostrap היא רושמת לנו מספר רב של שרותים לאפלקציה ול- Platform.
באנגולר 1 הוא היה רושם לנו את מודול ng לתוך ה- Injector שהיה מכיל את כל השרותים והדרקטיבים הבסיסיים, לא היה לנו יכולת למנוע את זה. באנגולר 2 אנחנו לא חייבים לעבוד עם הפונקציה bootstrap, אנחנו יכולים להשתמש בפונקציה platform ולקבוע בדיוק מה יהיה ב- Injector. ראו קוד.
להלן הרשימה.
מקווה שזה עזר לכם J
מי שרוצה ללמוד עוד מוזמן לקורס שלי על אנגולר.