To guard a route against unauthorized access, you can implement a custom class that implements the _____ interface.
- AuthenticationGuard
- CanActivate
- CanActivateChild
- RouteGuard
To guard a route against unauthorized access, you can implement a custom class that implements the CanActivate interface.
How can you pass data to a route while navigating to it?
- Using route guards
- Using route parameters
- Using route resolvers
- Using the query string
You can pass data to a route while navigating to it by using route parameters. Route parameters allow you to send data directly in the URL when navigating to a specific route.
Imagine you're building a multi-step form and you want to navigate between steps while preserving the data entered in the form. How would you leverage Navigation Extras to achieve this?
- Pass the form data in URL query parameters using NavigationExtras
- Store form data in a shared service and access it as you navigate between steps
- Use Angular Forms Module to keep track of form data and share it between steps
- Utilize localStorage to store and retrieve form data
To navigate between steps of a multi-step form while preserving the entered data, you can leverage Navigation Extras to pass the form data in URL query parameters using the NavigationExtras provided by Angular.
You're developing a form-heavy application and notice that there's a noticeable lag when typing into input fields. Which technique can you use to improve the performance related to data binding?
- One-way data binding
- Two-way data binding
- OnPush change detection strategy
- Component state management
In a form-heavy application, using the OnPush change detection strategy (option c) can significantly improve performance by reducing unnecessary change detection cycles. This strategy ensures that updates are only triggered when input properties change.
To mock a service's method and provide a custom return value during testing, you can use a Jasmine _____.
- Assertion
- MockService
- SpyOn
- TestBed
You should fill in the blank with SpyOn. Jasmine's SpyOn function allows you to mock methods and functions for testing, including services' methods.
To detach a component from Angular's change detection system, you would call the _____ method on the component's change detector.
- detach
- ngOnChanges
- ngOnInit
- onDestroy
To detach a component from Angular's change detection system, you would call the detach method on the component's change detector. This can be useful in certain optimization scenarios.
Which built-in validator can be used to ensure a form control's value is required in Angular?
- isRequired
- mandatory
- required
- validateRequired
The **required** validator is used to ensure that a form control's value is required in Angular. It helps validate whether the control has a value.
How do you define a feature module in Angular?
- By using @NgModule
- By using FormsModule
- By using NgClass
- By using NgModel
To define a feature module in Angular, you use the @NgModule decorator to configure and encapsulate the components, services, and other functionality that are related to a specific feature or functionality in your application.
To optimize performance, you can set the _____ property of a component to ChangeDetectionStrategy.OnPush to make Angular check the component only when its input properties change.
- OnCheck
- changeDetectionStrategy
- detectionChangeStrategy
- ngChangeDetection
To optimize performance in Angular, you can set the changeDetection property of a component to ChangeDetectionStrategy.OnPush. This setting makes Angular check the component only when its input properties change, reducing unnecessary checks and improving performance.
The _____ testing utility in Angular helps you test code that contains asynchronous operations.
- ComponentFixture
- HttpClientTestingModule
- Karma
- TestBed
The blank should be filled with TestBed. The TestBed utility in Angular helps you set up and configure an environment for testing Angular components, services, and more.
How can you preload data for a route before navigating to it?
- Component resolver
- Lazy loading
- Preloading strategy
- Router pre-fetching
To preload data for a route before navigating to it, you can use a Preloading strategy. A preloading strategy allows you to load data or modules in the background so that they are available when needed.
You are building a large e-commerce application and you want to ensure that certain modules, like the Checkout module, are only loaded when the user navigates to that section. How would you achieve this?
- Dynamic import() in JavaScript to load modules asynchronously
- Lazy loading with Angular Routing
- Using Webpack code splitting during the build process
- Using ngModule imports in Angular module configurations to control module loading
In Angular, you can achieve lazy loading of modules, such as the Checkout module, using Angular Routing. It allows you to load modules on-demand when a specific route is accessed, improving performance by reducing initial load times.