linkedin-skill-assessments-quizzes

Angular

P1. ¿Cuál es el propósito del decorador ViewChild en esta clase de componentes?

@Component({
    ...
    template: '<p #bio></p>'
})
export class UserDetailsComponent {
    @ViewChild('bio') bio;
}

DigitalOcean - viewchild-access-component

P2. ¿Qué método se utiliza para conectar un FormControl a un elemento de entrada DOM nativo en formas reactivas?

Angular.io - Grupos de formularios reactivos

P3. ¿Cuál es la diferencia entre el paramMap y el queryParamMap en el ActivatedRoute ¿clase?

StackOverflow

P4. Según el siguiente uso de la canalización asincrónica, y suponiendo que el campo de clase de usuarios es observable, ¿cuántas suscripciones a los usuarios observables se están realizando?

<h2>Names</h2>
<div *ngFor="let user of users | async"></div>
<h2>Ages</h2>
<div *ngFor="let user of users | async"></div>
<h2>Genders</h2>
<div *ngFor="let user of users | async"></div>

UltimateCourses

P5. ¿Cómo puede utilizar HttpClient para enviar una solicitud POST a un extremo desde una función addOrder en este OrderService?

export class OrderService {
  constructor(private httpClient: HttpClient) {}

  addOrder(order: Order) {
    // Missing line
  }
}

Angular.io - Envío de datos al servidor

P6. ¿Para qué se utiliza el método RouterModule.forRoot?

O ‘ REILLY

P7. ¿En qué elementos DOM coincidirá este selector de metadatos de componentes?

@Component({
    selector: 'app-user-card',
    . . .
})

Angular.io - Metadatos de componentes

P8. ¿Cuál es la sintaxis de plantilla correcta para usar la directiva estructural ngFor integrada para representar una lista de productNames?

<ul>
  <li [ngFor]="let productName of productNames"></li>
</ul>
<ul>
  <li ngFor="let productName of productNames"></li>
</ul>
<ul>
  <li *ngFor="let productName of productNames"></li>
</ul>
<ul>
  <? for productName in productNames { ?>
  <li></li>
  <? } ?>
</ul>

Angular.io- Directivas estructurales

P9. ¿Cuáles son las dos propiedades de metadatos del decorador de componentes utilizadas para configurar estilos CSS para un componente?

Angular.io - Estilos de componentes

P10. Con la siguiente clase de componente, ¿qué sintaxis de plantilla usaría en la plantilla para mostrar el valor del campo de clase de título?

@Component({
  selector: 'app-title-card',
  template: '',
})
class TitleCardComponent {
  title = 'User Data';
}

Angular.io - Interpolación de cadenas o Interpolación de texto

P11. ¿Cuál es el propósito del método valueChanges en un FormControl?

Angular.io: visualización de un valor de control de origen

P12. ¿Qué directiva se utiliza para vincular un <a> etiqueta a enrutamiento?

Angular.io - RouterLink

P13. ¿Para qué se utiliza el decorador de salida en esta clase de componentes?

@Component({
    selector: 'app-shopping-cart',
    . . .
})
export class ShoppingCartComponent {
    @Output() itemTotalChanged = new EventEmitter();
}

Angular.io - Envío de datos al componente primario

P14. ¿Cuál es la diferencia entre estos dos ejemplos de marcado para el manejo condicional de la visualización?

<div *ngIf="isVisible">Active</div>
<div [hidden]="!isVisible">Active</div>

StackOverflow

P15. ¿Cómo puede deshabilitar el botón Enviar cuando el formulario tiene errores en este ejemplo de formularios controlados por plantillas?

<form #userForm="ngForm">
  <input type="text" ngModel name="firstName" required />
  <input type="text" ngModel name="lastName" required />
  <button (click)="submit(userForm.value)">Save</button>
</form>
<button (click)="submit(userForm.value)" disable="userForm.invalid">Save</button>
<button (click)="submit(userForm.value)" [disabled]="userForm.invalid">Save</button>
<button (click)="submit(userForm.value)" [ngForm.disabled]="userForm.valid">Save</button>
<button (click)="submit(userForm.value)" *ngIf="userForm.valid">Save</button>

Angular.io - Envíe el formulario con ngSubmit

T1S. Desea ver qué archivos se generarían creando un nuevo componente de tarjeta de contacto. ¿Qué comando usarías?

Angular.io - ng generar opciones

P17. Basado en el siguiente componente, ¿qué sintaxis de plantilla usaría para enlazar el campo titleText de TitleCardComponent a la propiedad title del elemento h1?

@Component({
  selector: 'app-title-card',
  template: '<h1 title="User Data"> </h1>',
})
export class TitleCardComponent {
  titleText = 'User Data';
}

Angular.io - Interpolación de cadenas

P18. ¿Qué son los ganchos de ciclo de vida angular?

Angular.io - Ganchos de ciclo de vida

P19. Elija la mejor descripción para este código de sintaxis de plantilla:

<span>Boss:  </span>

StackOverflow

P20. ¿Cómo configuraría una definición de ruta para un UserDetailComponent que admita la ruta de acceso URL user/23 (donde 23 representa el identificador del usuario solicitado)?

CodeCraft - Rutas parametrizadas

P21. ¿Qué hacen los decoradores de HostListener y el decorador de HostBinding en esta directiva?

@Directive({
  selector: '[appCallout]',
})
export class CalloutDirective {
  @HostBinding('style.font-weight') fontWeight = 'normal';

  @HostListener('mouseenter')
  onMouseEnter() {
    this.fontWeight = 'bold';
  }

  @HostListener('mouseleave')
  onMouseLeave() {
    this.fontWeight = 'normal';
  }
}

Océano Digital

P22. ¿Qué sintaxis de plantilla angular puede usar en este campo de formulario controlado por plantilla para acceder al valor del campo y comprobar la validación dentro del marcado de la plantilla?

<input type="text" ngModel name="firstName" required minlength="4" />
<span *ngIf="">Invalid field data</span>

Angular.io -Mostrar y ocultar error de validación

Medio

P23. ¿Cuál es el tipo de valor que se almacenará en la variable de referencia de la plantilla headerText en este marcado?

<h1 #headerText>User List</h1>

Pluralsight - Variable de referencia de plantilla

P24. ¿Cuál es la diferencia, si la hay, de la lógica de código resultante basada en estas dos configuraciones de proveedor?

[{ provide: FormattedLogger, useClass: Logger }][{ provide: FormattedLogger, useExisting: Logger }];

Angular.io - Proveedores de dependencia

TektutorialHub

P25. ¿Cuál es el propósito de la propiedad de datos (que se ve en el ejemplo siguiente) en una configuración de ruta?

   {
       path: 'customers',
       component: CustomerListComponent,
       data: { accountSection: true }
   }

TektutorialsHub

StackOverflow

P26. ¿Cómo funciona el incorporado? ngIf La directiva estructural cambia el DOM representado en función de esta sintaxis de plantilla?

@Component({
  selector: 'app-product',
  template: '<div *ngIf="product"></div>',
})
export class ProductComponent {
  @Input() product;
}

Referencia (angular.io)

P27. ¿Qué logra este código?

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule],
  bootstrap: [AppComponent],
})
export class AppModule {}

platformBrowserDynamic().bootstrapModule(AppModule);

Angular.io - El NgModule básico

P28. Qué opción describe mejor lo que el resolver propiedad hace en esta configuración de ruta?

{
   path: ':id',
   component: UserComponent,
   resolve: {
     user: UserResolverService
   }
}

angular.io

P29. ¿Cuál es el propósito del decorador ContentChildren en esta clase de componentes?

@Component({
 . . .
 template: '<ng-content></ng-content›'
})
export class TabsListComponent {
 @ContentChildren(TabComponent) tabs;
}

betterprogramming.pub

P30. Para que Angular procese componentes en una aplicación, ¿dónde deben registrarse los tipos de componentes?

angular.io

P31. ¿Cuál es el propósito de la fixture.detectChanges() llamar en esta prueba unitaria?

TestBed.configureTestingModule({
  declarations: [UserCardComponent],
});
let fixture = TestBed.createComponent(UserCardComponent);

fixture.detectChanges();

expect(fixture.nativeElement.querySelector('h1').textContent).toContain(
  fixture.componentInstance.title,
);

angular.io

P32. ¿Cómo se verá el segmento de URL en función de la siguiente llamada al Router.navigate cuando a goToUser se le pasa el valor 15?

export class ToolsComponent {
  constructor(private router: Router) {}
  goToUser(id: number) {
    this.router.navigate(['user', id]);
  }
}

angular.io

P33. Cuando se proporciona un servicio para root y también se agrega a la configuración del proveedor para un módulo de carga diferida, ¿qué instancia de ese servicio proporciona el inyector a los constructores en el módulo de carga diferida?

P34. ¿Qué está haciendo el decorador de HostBinding en esta directiva?

@Directive({
  selector: ' [appHighlight] ',
})
export class HighlightDirective {
  @HostBinding('class.highlighted') highlight = true;
}

StackOverflow

P35. En las formas reactivas, qué tipo de clase de forma angular se utiliza en el DOM nativo <form> elemento para conectarlo?

P36. Suponiendo que el nombre de usuario FormControl se ha configurado con un validador minLength, ¿cómo puede configurar una visualización de error en el siguiente marcado de formularios reactivos para el campo de nombre de usuario?

<form [formGroup]="form"
  <input type="text" formControlName= "username"
  ...
</form>
    <span *ngIf="username.minLength.invalid"
        Username length is not valid
    </span>
<input type="text" formControlName="username" [showMinLength]="true"
    <span *ngIf="form.get('username').getError('minLength') as minLengthError">
      Username must be at least  characters.
    </span>
<input type="text" formControlName="username" #userName="ngModer">
    <span *ngIf="userName.errors.minlength"
      Username must be at least  characters.
    </span>

Codecraft

P37. ¿Cómo maneja el modo de encapsulación de vista emulada CSS para un componente?

Angular.io

P38. Con la siguiente configuración de TestBed, ¿qué se puede usar para acceder al DOM representado para UserCardComponent?

TestBed.configureTestingModule({
  declarations: [UserCardComponent],
});
let fixture = TestBed.createComponent(UserCardComponent);

StackOverflow

Angular.io

P39. Dados estos dos componentes, ¿qué se representará en el DOM en función del uso de marcado?

@Component({
 selector: 'app-card',
 template: '<h1>Data Card</h1><ng-content></ng-content>'
})
export class CardComponent { }

@Component({
 selector: 'app-bio',
 template: '<ng-content></ng-content>.
})
export class BioComponent { }

// markup usage:
<app-card><app-bio>Been around for four years.</app-bio></app-card>
 <app-card>
  <h1>Data Card</hl>
  <app-bio>
   Been around for four years.
  </app-bio>
 </app-card>
<h1>Data Card</h1>
 <app-bio>
  Been around for four years.
 </app-bio>
<app-card>
  <h1>Data Card</hl>
  <ng-content></ng-content>
  <app-bio>
   Been around for four years.
   <ng-content></ng-content>
  </app-bio>
</app-card>
<app-card>
  <h1>Data Card</hl>
</app-card>

P40. Dado el componente app-title-card en el código siguiente, ¿qué DOM representará el componente app-user-card?

@Component({
   selector: 'app-user-card',
   template: '<app-title-card></app-title-card><p>Jenny Smith</p>'
})

@Component({
   selector: 'app-title-card',
   template: '<h1>User Data</hl>'
})

// usage of user card component in parent component html
<app-user-card></app-user-card>
<app-user-card>
  <app-title-card>
    <h1>User Data</h1>
  </app-title-card>
  <p>Jenny Smith</p>
</app-user-card>
<h1>User Data</h1>
<p>Jenny Smith<p>
<app-user-card>
  <app-title-card></app-title-card>
</app-user-card>
<div app-user-card>
  <h1 app-title-card>User Data</h1>
  <p>Jenny Smith</p>
</div>

P41. Elija el código coincidente para el registro de proveedor personalizado que el decorador de @Inject () está buscando:

constructor(@Inject('Logger') private logger) { }
providers: [Logger];
providers: [{ provide: 'Logger', useClass: Logger }];
@Injectable({
    providedln: 'root'
})
providers: [{ provide: 'Logger' }];

StackOverflow

TektutorialHub

Angular.io - Inyección de dependencia en acción

P42. ¿Qué opción describe mejor el siguiente uso del método HttpClient.get en el método de clase getsettings?

export class SettingsService {
    constructor(private httpClient: HttpClient) { }
    ...

getSettings()
{
    return this.httpClient.get<Settings>(this.settingsUrl)
        .pipe(
            retry(3)
        );
}}

learnrxjs.io

dev.to

P43. Cuando un servicio requiere alguna configuración para inicializar su estado predeterminado a través de un método, ¿cómo puede asegurarse de que dicho método se invoca antes de que el servicio se inyecte en cualquier lugar?

P44. ¿Qué declaración describe mejor este uso del banco de pruebas?

const spy = jasmine.createSpyObj('DataService', ['getUsersFromApi']);
TestBed.configureTestingModule({
  providers: [UserService, { provide: DataService, useValue: spy }],
});
const userService = TestBed.get(UserService);

P45. ¿Cuál es la principal diferencia entre un componente y una directiva?

StackOverflow

P46. ¿Qué podría agregar a esta clase de directiva para permitir que se establezca la longitud truncada durante el uso de directivas en el marcado?

  @Directive({
      selector: '[appTruncate]'
  })
  export class TruncateDirective {
      . . .
  }

  // example of desired usage:
  <p [appTruncate]="10">Some very long text here</p>

Angular.io

StackOverflow

P47. ¿Cómo puede pasar parámetros de consulta a este HttpClient.get ¿pedir?

export class OrderService {
  constructor(private httpClient: HttpClient) {}

  getOrdersByYear(year: number): Observable<Order[]> {
    return this.httpClient.get<Order[]>(this.ordersUrl);
  }
}
const options = { params: new HttpParams().set('year', year) };
return this.httpClient.get<Order[]>(this.ordersUrl, options);
getOrdersByYear(year: number): Observable<Order[]> {
    return this.httpClient.addParam('year', year).get<Order[]>(this.ordersUrl, year);
}

StackOverflow

TektutorialHub

P48. Asumiendo el DataService se ha registrado en los proveedores de la aplicación, ¿qué respuesta describe mejor lo que sucede en función del constructor de este componente?

    @Component({
        ...
    })
    export class OrderHistoryComponent {
        constructor(private dataService: DataService) {}
        ...
    }

StackOverflow

Angular.io - Inyección de dependencia

Pregunta 49. Finalice este marcado con el botón ngIf directiva para implementar otro caso que mostrará el texto “El usuario no está activo”:

<div *ngIf="userIsActive; else inactive">
  Currently active!
</div>
<div #inactive>User is not active.</div>
<div *ngIf="inactive">
  User is not active.
</div>
<ng-template #else="inactive">
  <div>User is not active.</div>
</ng-template>
<ng-template #inactive>
  <div>User is not active.</div>
</ng-template>

Angular.io

Pregunta 50. ¿Cuál es la sintaxis correcta para que una definición de ruta cargue diferidamente un módulo de entidad?

  {
      path: 'users',
      lazy: './users/users.module#UsersModule'
  }
{
    path: 'users',
    loadChildren: () => import('./users/users.module').then(m => m.UserModule)
}
{
    path: 'users',
    loadChildren: './users/users.module#UsersModule'
}
{
    path: 'users',
    module: UsersModule
}

Angular.io - Módulos de carga diferida

Pregunta 51. Describa cómo se configura y configura la validación en este ejemplo de formularios reactivos:

export class UserFormControl implements OnInit {
    ...
    ngOnInit() {
        this.form = this.formBuilder.group({
            username: this.formBuilder.control('',
                [Validators.required, Validators.minLength(5), this.unique]),
        )};
    }
    unique(control: FormControl) {
        return control.value !== 'admin' ? null: {notUnique: true};
    }
}

Angular.io - Validación de formularios

Blog de la Universidad Angular

P52. ¿Qué hace el decorador inyectable en esta clase de servicio?

@Injectable({
    providedIn: 'root'
)}
export class DataService { }

Angular.io

Pregunta 53. Describir el uso de este código

export interface AppSettings {
  title: string;
  version: number;
}
export const APP_SETTINGS = new InjectionToken<AppSettings>('app.settings');

Pregunta 54. Para el siguiente ejemplo de formularios controlados por plantillas, ¿qué argumento se puede pasar al método submit en el evento click para enviar los datos del formulario?

<form #form="ngForm">
  <input type="text" ngModel="firstName" />
  <input type="text" ngModel="lastName" />
  <button (click)="submit()">Save</button>
</form>

Pregunta 55. ¿Cuál es el propósito de la configuración de la propiedad prelodingStrategy en este código de enrutador?

RouterModule.forRoot(
  ...{
    preloadingStrategy: PreloadAllModules,
  },
);

Pregunta 56. ¿Cuál es una forma alternativa de escribir este marcado para enlazar el valor del campo de clase? userName al h1 propiedad de título de elemento?

<h1 [title]="userName">Current user is </h1>

Pregunta 57. ¿Qué es el async ¿Hacer tubería en este ejemplo?

@Component({
  selector: 'app-users',
  template: '<div *ngFor="let user of users | async"></div>',
})
export class UsersComponent implements OnInit {
  users;
  constructor(private httpClient: HttpClient) {}
  ngOnInit(): void {
    this.users = this.httpClient.get<{ name: string }>('users');
  }
}

Pregunta 58. ¿Cómo se utilizaría esta directiva en el marcado en función de su valor de selector?

@Directive({
	selector: '[appTruncate]'
})
export class TruncateDirective{
	. . .
}

Pregunta 59. ¿Qué gancho de ciclo de vida se puede usar en un componente para supervisar todos los cambios en los valores de @Input en ese componente?

¿Cómo detectar cuando un valor @Input() cambia en Angular?

P60. ¿Cuál sería un ejemplo de uso de sintaxis de plantilla de esta canalización personalizada?

@Pipe({ name: 'truncate' })
export class TruncatePipe implements PipeTransform {
	transform(value: string, maxLength: number, showEllipsis: boolean){
		const newValue = maxLength ? value.substr(0, maxLength): value;
		return showEllipsis ? '${newValue}...` : newValue;
	}
}

[vuelva a verificar las respuestas]

P61. ¿Qué comando de la CLI angular ejecutaría para generar un UsersComponent y agregarlo al SharedModule (en el archivo shared.module.ts de la aplicación)?

[vuelva a verificar las respuestas]

P62. ¿Cómo puede reescribir este marcado para que el contenedor div no sea necesario en el renderizado DOM final?

<div *ngIf="location">
	<h1></h1>
	<p></p>
</div>
<div *ngIf="location">
	<h1></h1>
	<p></p>

<ng-template *ngIf="location">
	<h1></h1>
	<p></p>
</ng-template>
<div *ngIf="location" [display]=" ' hidden' ">
	<h1></h1>
	<p></p>
</div>
<ng-container *ngIf="location">
	<h1></h1>
	<p></p>
</ng-container>

[volver a comprobar las respuestas]

P63. Describa el uso de este código:

export interface AppSettings {
  title: string;
  version: number;
}

[volver a comprobar las respuestas]

Pregunta 64. ¿Qué utilidades angulares, si las hay, se requieren para probar unitariamente un servicio sin dependencias de constructor?

Pruebas unitarias angulares - volver a comprobar las respuestas

Pregunta 65. ¿Cuál es la diferencia entre los protectores de ruta CanActivate y CanLoad?

CanActivate vs Canload CanActivate impide el acceso en las rutas, CanLoad evita la carga diferida.

Pregunta 66. ¿Para qué se utiliza la propiedad de salida en este objeto de definición de enrutador?

{
	path: 'document',
	component: DocumentComponent,
	outlet: 'document-box'
}

Salida angular - volver a comprobar la respuesta