Which Angular decorator is used to define a component's metadata?
- @Component
- @Directive
- @Injectable
- @NgModule
In Angular, the @Component decorator is used to define a component's metadata, including its selector, template, and other properties. This decorator is crucial for marking a TypeScript class as an Angular component. The other decorators mentioned are used for different purposes, such as defining modules, services, or custom directives.
When using the Angular CLI, which option ensures the application is built for production?
- ng serve
- ng build
- ng test
- ng lint
When building an Angular application for production, you should use the "ng build" command with the "--prod" flag. This flag enables optimizations like Ahead-of-Time (AOT) compilation, minification, and tree shaking to create a smaller and more efficient production bundle.
The HostListener decorator in custom directives listens to ________ events.
- Custom
- DOM
- Input
- Mouse
The HostListener decorator in custom directives listens to DOM events. It is used to subscribe to DOM events and perform custom actions when those events occur. The decorator takes the event name as an argument, allowing you to specify which DOM event the directive should listen for and respond to. This is a fundamental concept when working with Angular custom directives.
What method can be used to manually trigger change detection in Angular?
- detectChanges()
- runChangeDetection()
- triggerChangeDetection()
- performChangeDetection()
The detectChanges() method can be used to manually trigger change detection in Angular. It is a method of the ChangeDetectorRef class and is often used when you need to explicitly check for changes in a component, especially when dealing with components that use the OnPush change detection strategy. The other options (runChangeDetection(), triggerChangeDetection(), performChangeDetection()) are not standard Angular methods.
Which technique in Angular allows you to encapsulate styles and templates so that they don't affect other parts of the application?
- Angular Modules.
- Angular Services.
- Angular Components.
- Angular ViewEncapsulation.
Angular's ViewEncapsulation technique allows you to encapsulate styles and templates for a component so that they don't affect other parts of the application. It provides options like Emulated, None, and Shadow DOM, which control how styles are scoped to a component. The other options, such as Angular Modules and Components, serve different purposes in Angular and do not specifically address style and template encapsulation.
When setting up child routes, which directive is used in the parent component's template to display the views for the child routes?
To display the views for child routes in Angular, you use the directive in the parent component's template. This directive acts as a placeholder where the content of child routes will be rendered.
What is the purpose of an HttpInterceptor in Angular?
- Intercept and modify HTTP requests and responses
- Manage application state
- Render UI components
- Validate form input
An HttpInterceptor in Angular is used to intercept and modify HTTP requests and responses before they are sent to or received from the server. This allows you to add headers, handle errors, perform logging, or make any necessary changes to the request or response pipeline globally across your application. It is a powerful tool for managing HTTP-related behaviors in a centralized manner.
In a real-time chat application, you need to ensure that even if messages are sent rapidly, only the latest message is processed and displayed. Which RxJS strategy would be most appropriate?
- concatMap
- debounceTime
- exhaustMap
- switchMap
To ensure that only the latest message is processed and displayed in a real-time chat application, you should use the exhaustMap strategy in RxJS. It ensures that only the events from the latest inner observable are propagated.
How can you redirect a user to another route within a CanActivate guard if they are not authorized?
- Using the CanActivate.redirect method
- Using the Route.navigate method
- Using the Router.navigate method
- Using the Router.redirect method
In a CanActivate guard, you can redirect a user to another route by using the Router.navigate method. This allows you to navigate the user to a different route if they are not authorized to access the current route.
When using content projection with , the projected content's change detection is the responsibility of the ________ component.
- Angular
- Child
- Host
- Parent
When using content projection with , the projected content's change detection is the responsibility of the Parent component. This means that any changes or events in the projected content will trigger change detection in the parent component that hosts the projected content. This is important for ensuring that updates in the projected content are reflected in the parent component.